原因:
由于Linux在执行cron时,会将cron执行脚本中的output和warning信息,都会以邮件的形式发送cron所有者, 而由于客户环境中的sendmail和postfix没有正常运行,导致邮件发送不成功,全部小文件堆积在了maildrop目录下面,而且没有自动清理转换的机制,所以在一段时间后,该目录将堆积大量的文件。
文件清理:
# 统计目录下的文件数量 for i in /var/spool/postfix/*; do echo $i; find $i | wc -l; done # 创建一个临时空文件夹 mkdir /tmp/clear # 清理/var/spool/postfix/maildrop rsync -av --delete /tmp/clear/ /var/spool/postfix/maildrop/ # rsync选项说明: # --delete-before 接收者在传输之前进行删除操作 # --progress 在传输时显示传输过程 # --a 归档模式,表示以递归方式传输文件,并保持所有文件属性 # --H 保持硬连接的文件 # --v 详细输出模式 # --stats 给出某些文件的传输状态
解决办法:
1、将/etc/crontab文件中MAILTO="root"改成MAILTO=""
2、在所有cron的第一行加入MAILTO="",这样执行当前用户的cron时,就不会发送邮件了
MAILTO="" */1 * * * * root curl http://127.0.0.1:8081/batch/gps