centos磁盘优化,发现/var/spool/postfix/maildrop下有大量文件。
cron进程默认会将计划任务中所运行的脚本的警告、错误信息或者脚本输出信息发送给计划任务的所有者,而由于系统的postfix默认没有打开,所以这些邮件放到了邮件队列maildrop目录中,如果计划任务比较多,而且都有信息输出或者有错误,那么maildrop中的小文件肯定会越来越多。此时如果启动postfix服务,那么这些文件都会发送给计划任务的所有者,maildrop目录中的小文件没有了,却到了/var/spool/mail下面了(dc5.0上postfix默认无法发送邮件)。
可以直接删除。腾出磁盘空间。如果想做参考可以留着,过一段时间再去删除。如果没用用处,参考如下方法解决。
方法一:
修改“/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比较多的,有一定影响;第二种感觉比较灵活,且改完立即生效。