我怎样才能阻止 cron 通过电子邮件向我发送我安排的作业的结果?
答案1
通过将环境变量“MAILTO”设置为“”
类似于:
SHELL=/bin/bash
MAILTO=
01 * * * * /your/path/to/script/here.sh
答案2
如果您想要一份工作来停止电子邮件,您只需附加>/dev/null 2>&1
例如:
0 * * * * /home/script >/dev/null 2>&1
答案3
仅当有输出时,Cron 才会向您发送电子邮件,无论是 onstdout
还是stderr
。
如果这是您编写的脚本,请使其简洁一些 - 删除不必要的echo
或print
语句。重定向stdout
到/dev/null
也是一个有效的解决方案:
2 * * * * /my/script > /dev/null
如果执行此操作后仍收到消息,则输出为开启stderr
,因此应该是一个错误,您应该解决它。如果没有,您可以重定向stderr
到/dev/null
...
2 * * * * /my/script > /dev/null 2> /dev/null
..尽管忽略错误消息通常不是一个好主意!(您如何知道 cron 作业何时中断?)
您可以使用2>&1
:例如:
command_which_prints_messages_to_stderr 2>&1 # redirect stderr to stdout
..然后直接stdout
进入/dev/null
你的 cron 任务 - 这样你就可以静音大声命令,而不会丢失错误消息