18

如何设置我的 crontab 以在每天晚上 11:59 执行 X 脚本而不给我发电子邮件或创建任何日志?

现在我的 crontab 看起来像这样

@daily /path/to/script.sh
4

3 回答 3

10

当你执行 crontab -e 时,试试这个:

59 23 * * * /usr/sbin/myscript > /dev/null

这意味着:在每个工作日的每个月的 59 分钟和 23 小时 (*) 执行 myscript。

有关更多信息和示例,请参阅man crontab 。

于 2008-08-06T07:21:32.430 回答
6

跟进svrist 的回答,根据你的 shell,2>&1 应该> /dev/null 之后,否则你仍然会看到 stderr 的输出。

以下将使 stdout 和 stderr 静音:

59 23 * * * /usr/sbin/myscript > /dev/null 2>&1

以下使标准输出静音,但标准错误仍会出现(通过标准输出):

59 23 * * * /usr/sbin/myscript 2>&1 > /dev/null

Advanced Bash Scripting Guide 的关于 IO 重定向的章节是一个很好的参考——搜索 2>&1 以查看几个示例。

于 2008-08-10T07:27:38.167 回答
5

您将通过上述回复收到电子邮件,其中包含写入 stderr 的任何文本。有些人也将其重定向,并确保脚本改为写入日志。

... 2>&1 ....
于 2008-08-06T07:43:29.500 回答