停止cron向我发送电子邮件


Answers:



12

如果您希望单个作业停止发送电子邮件,只需在其后面附加> / dev / null 2>&1

例如:

0 * * * * /home/script >/dev/null 2>&1

1
如果您确定一次运行将在下一次运行之前完成,则可以将输出重定向到一个命名文件,而不是/ dev / null:如果您怀疑是否有一次运行,可以选择检查上一次运行的结果问题。
mas

4

Cron仅在stdout或上有输出时通过电子邮件发送给您stderr

如果您编写的是脚本,请使其不再那么冗长-删除不必要的内容echoprint语句。重定向stdout/dev/null也是有效的解决方案:

2 * * * * /my/script > /dev/null

如果执行此操作后仍收到消息,则输出为on stderr,因此为错误,应解决。如果没有,则可以重定向stderr/dev/nullwith。

2 * * * * /my/script > /dev/null 2> /dev/null

..尽管忽略错误消息通常是一个坏主意!(您如何知道cron作业何时中断?)

您可以使用2>&1- 将特定命令的输出从stderr重定向到stdout ,例如:

command_which_prints_messages_to_stderr 2>&1 # redirect stderr to stdout

..然后直接stdout执行/dev/null您的Cron工作-这样,您就可以使响亮的命令静音,而不会丢失错误消息

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.