Linux 中 /var/spool/postfix/maildrop 占用空间很大问题

摘要

一台运维主机上面没有跑什么特殊服务,所以没有添加监控告警。今突然执行命令执行不了发现是因为磁盘慢了导致。排错发现是因为目录/var/spool/postfix/mailfdrop 过大导致。

通过了解发现因为:

由于 Linux 在执行 cron 时,会将 cron 执行脚本中的 output 和 warning 信息,都会以邮件
的形式发送 cron 所有者, 而由于客户环境中的 sendmail 和 postfix 没有正常运行,导致邮件
发送不成功,全部小文件堆积在了 maildrop 目录下面,而且没有自动清理转换的机制,所以长达一
年的时间,此目录已堆积了大量的文件。查看 man cron 的信息,可以知道会发送给 cron owner.

解决之道

临时解决当然是清空该文件夹即可

cd /var/spool/postfix/maildrop
rm -rf *

但是临时删除了,以后也还会出现。所以我们需要从源头杜绝这个问题再次出现。
通过上面的介绍我们知道是因为crontab执行定时任务的时候把脚本的一些输出发送给脚本执行者。如果是我们不关心的备注型等输出我们完全可以让其输出到 /dev/null 这样就不会因为发送失败到导致在/var/spool/postfix/maildrop下面产出什么文件。

建议:

*/10 * * * * /tmp/test.sh >/dev/null 2>&1

修改之后观察该目录发现没有新的文件产生。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章