是什么导致 cron 不断发送邮件,我该如何禁用它?

Kyl*_*leL 4 cron centos

我在 CentOS 6.3 系统上遇到了一个问题,其中 crond 进程试图一遍又一遍地发送邮件(至少我认为这是它所做的),直到操作系统最终生成“打开的文件太多”错误。此计算机未连接到网络。

症状

运行一夜后,当用户尝试登录时,系统会产生“文件打开过多”错误。
如果我在运行几个小时后检查进程列表,我会看到这三个进程多次列出(随着时间的推移,次数或重复次数继续增加):

CROND
/usr/sbin/sendmail -FCronDaemon -i -odi -oem -i -t ...
/usr/sbin/postdrop -r
Run Code Online (Sandbox Code Playgroud)

尝试修复

这些尝试修复都没有解决问题。看起来它实际上postdrop是挂起的进程。如果我杀死它,其他两个进程也会死亡。除了一些更优雅的解决方案,我的下一个攻击计划是postdrop用一个什么都不做并退出的 bash 脚本替换,以防止这些进程累积。任何建议表示赞赏!

Jon*_*col 6

我猜有问题的 cron 条目不在/etc/crontab. MAILTO=""应该可以工作,但它必须与 cron 条目(/etc/cron.d/0hourly等)在同一个文件中。

另外,我很惊讶这是一个问题,我认为默认情况下,如果您没有为 root ( /etc/aliases)指定电子邮件地址,邮件应该在本地发送。

或者/另外,修改每个 cron 条目以将输出重定向到/dev/null

* * * * *  /some/script.sh >/dev/null 2>&1
Run Code Online (Sandbox Code Playgroud)