原因:

  由于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

 

posted on 2023-03-15 12:53  a120608yby  阅读(25)  评论(0编辑  收藏  举报