linux查找maildrop目录超大空间占用
作者:matrix 被围观: 4,662 次 发布时间:2019-09-20 分类:Linux | 无评论 »
这是一个创建于 1919 天前的主题,其中的信息可能已经有所发展或是发生改变。
线上centos服务器有很长时间没有连,今天安装证书无故失败,数据库也不能连接。。。一系列的问题
查找占用情况
$ df -h #查看磁盘占用情况
$ du -h --max-depth=1 ./ #查看当前目录的文件/目录占用大小
然后就是手动一层一层的找到最大的那个目录。 😂
最后找到一个隐藏杀手:/var/spool/postfix/maildrop/
。这个目录下面存在3000W个小文件,占用33GB。主要它还不是tmp之类的目录,没遇见过真是很难查找。
究其原因是crontab任务日志发送到所有者的邮箱导致的问题
解决方案
- 方法1
编辑crontab
顶部首行写上 MAILTO=""
,这样就会把邮箱信息赋空,也就不会发送了。
如果有非root用户的crontab任务也需要在顶部声明MAILTO=""
.
默认crontab -e
是编辑的当前登录的用户定时任务配置,若是以root
登录则为/var/spool/cron/root
同理www
用户的定时任务文件就是/var/spool/cron/www
- 方法2
其次就是每条cron任务的最后把输出信息赋空 >/dev/null 2>&1
* * * * * /root/do.sh >/dev/null 2>&1
p.s.
记下以后排查的顺序
- web程序日志
- nginx/apache日志
- tmp
- crontab 错误邮件发送日志
/var/spool/postfix/maildrop - /var/log 类型的log目录
/var/log/journal 启动目录的文件很多
...
参考:
https://www.jianshu.com/p/a0aa43707476
https://my.oschina.net/qimhkaiyuan/blog/1631028