今天发现服务器硬盘报警,出现空间不足的情况,后经查看发现是 /var/spool/postfix/maildrop 有大量文件,但服务器本身没有启动 postfix服务。
继续上网查资料,发现是crontab 每次执行任务后会发送邮件,接受者是在他的配置文件 “/etc/crontab” 通过 MAILTO=root’ 来设置的,默认是root,如果执行输出没有十分必要要用邮件发送的话,可以修改此处。
下面是两个解决方法
方法一:
修改“/etc/crontab” 将‘MAILTO=root’替换成‘MAILTO=""’修改之后没有成功,需要重启crond服务才可以 也可从在crontab(crontab -e)中最前面直接加入MAILTO=""
方法二:
如果是我们不关心的备注型等输出我们完全可以让其输出到 /dev/null 这样就不会因为发送失败到导致在/var/spool/postfix/maildrop下面产出什么文件。 例如: */10 * * * * /tmp/test.sh >/dev/null 2>&1
经过测试发现果然没有再出现新增的文件。当然如果输出内容有需要保存的话,可以输出到指定文件。比如下面这样
*/10 * * * * /tmp/test.sh >/log/test.log
本人倾向于第二种方案,虽然都解决问题,但第一种改变了需要发送的机制,造成所有的都不能接收到邮件,且需要重启crond服务,对执行crontab比较多的,有一定影响;第二种感觉比较灵活,且改完立即生效。
本文来自博客园,作者:孙龙-程序员,转载请注明原文链接:https://www.cnblogs.com/sunlong88/p/13535146.html