Crontab如何禁用电子邮件

问题描述

我想对一些经常运行的任务禁用电子邮件报告。我已经浏览了以下链接

https://unix.stackexchange.com/questions/84335/stop-cron-sending-mail-for-backup-script

https://www.cyberciti.biz/faq/disable-the-mail-alert-by-crontab-command/

他们建议在命令末尾添加>/dev/null 2>&1以禁用电子邮件。

这是我的crontab条目:

* * * * * /bin/bash /home/ubuntu/startup/monitor-mosquitto.sh >/dev/null 2>&1

但是,每次运行脚本时,我仍然会收到电子邮件。实际上,不仅是一次,而且每次运行都会收到8到15封邮件。

我在这里做错什么了吗?顺便说一句,我使用crontab作为根(sudo crontab -e

解决方法

请参见man 5 crontab

如果定义了MAILTO但为空(MAILTO =“”),则不会发送邮件。

如果有记忆,我会在线路本身或之前使用它:

MAILTO=""
* * * * * /bin/bash /home/ubuntu/startup/monitor-mosquitto.sh 

请注意,这将影响其后的所有行,因此您可能希望将其放置在最后,或将其放置在MAILTO上。

严格来讲,严格来说,您应该能够在shell本身中确定使用shell重定向所做的事情。您的内容看起来正确,因此我有些困惑。也许请确保不要像您一样将其测试为root

相关问答

错误1:Request method ‘DELETE‘ not supported 错误还原:...
错误1:启动docker镜像时报错:Error response from daemon:...
错误1:private field ‘xxx‘ is never assigned 按Alt...
报错如下,通过源不能下载,最后警告pip需升级版本 Requirem...