EC2 实例会为每个成功或失败的 cron 作业发送邮件 - 如何停止这种情况?

EC2 实例会为每个成功或失败的 cron 作业发送邮件 - 如何停止这种情况?

我们每天都会从 cron 守护进程收到数百封邮件[电子邮件保护]。我该如何阻止这种情况?这些邮件涉及我们设置的自定义 cron 作业 - 以及 AWS 设置的其他作业。

邮件主题如下:

Cron <www-data@ip-172-12-34-56> [ -x /usr/share/awstats/tools/update.sh ] && /usr/share/awstats/tools/date.sh

我读到这是默认行为,但我找不到关闭它的方法。

既不包含指令,crontab -l也不sudo crontab -l包含MAILTO除常规 cron 作业计时之外的任何内容。


> cat vim /etc/crontab    cat: vim: No such file or directory
# /etc/crontab: system-wide crontab
# Unlike any other crontab you don't have to run the `crontab'
# command to install the new version when you edit this file
# and files in /etc/cron.d. These files also have username fields,
# that none of the other crontabs do.

SHELL=/bin/sh
PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin

# m h dom mon dow user  command
17 *    * * *   root    cd / && run-parts --report /etc/cron.hourly
25 6    * * *   root    test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.daily )
47 6    * * 7   root    test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.weekly )
52 6    1 * *   root    test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.monthly )

答案1

您有几种选择。

您可以MAILTO="*address*"在 crontab 开始时设置一个变量来指定除 root@ 之外的电子邮件地址,或者将其发送到不存在的电子邮件帐户。

您可以使用输出重定向,这样您就可以通过将其添加>/dev/null 2>&1到 cron 作业的末尾将所有内容发送到 /dev/null。

或者您可以使用某种输出重定向组合,仅将错误发送到电子邮件或日志文件等。

http://wiki.bash-hackers.org/syntax/redirection还有一些关于如何使用重定向的示例。

相关内容