我目前正在运行一个cron作业,以便在特定的时间间隔后安排shell脚本,但是我无法看到shell脚本的执行情况以及如何查看它的日志。谢谢
bkhjykvo1#
你可以使用重定向标志( > )为了重定向 stdout 和/或 stderr 到日志文件。例如: 0 0 * * * /path/to/shell-script.sh > /tmp/shell-script.log 2>&1 哪里: 0 0 * * * 意味着脚本将在每天午夜运行 /path/to/shell-script.sh -脚本的路径 > 表示将流重定向到一个文件,后跟重定向符号 2>&1 方法文件描述符 1 是标准输出( stdout ).文件描述符 2 是标准误差( stderr ).有一种方法可以记住这个结构(尽管它并不完全准确):首先, 2>1 可能是一个很好的重定向方法 stderr 至 stdout . 但是,它实际上会被解释为“重定向” stderr 到一个名为 1 ". & 指示后面是文件描述符而不是文件名。因此结构变成: 2>&1 .
>
stdout
stderr
0 0 * * * /path/to/shell-script.sh > /tmp/shell-script.log 2>&1
0 0 * * *
/path/to/shell-script.sh
2>&1
1
2
2>1
&
1条答案
按热度按时间bkhjykvo1#
你可以使用重定向标志(
>
)为了重定向stdout
和/或stderr
到日志文件。例如:
0 0 * * * /path/to/shell-script.sh > /tmp/shell-script.log 2>&1
哪里:0 0 * * *
意味着脚本将在每天午夜运行/path/to/shell-script.sh
-脚本的路径>
表示将流重定向到一个文件,后跟重定向符号2>&1
方法文件描述符
1
是标准输出(stdout
).文件描述符
2
是标准误差(stderr
).有一种方法可以记住这个结构(尽管它并不完全准确):首先,
2>1
可能是一个很好的重定向方法stderr
至stdout
. 但是,它实际上会被解释为“重定向”stderr
到一个名为1
".&
指示后面是文件描述符而不是文件名。因此结构变成:2>&1
.