Linux中/var/spool/postfix/maildrop占空间很大的原因解析
发现问题
最近在工作发现了一个错误,MySQL报错ExceptionMessage:SQLSTATE[08004][1040]Toomanyconnections,经查这次错误是硬盘空间满了导致的,于是找一些可以删除的文件腾出一些空间。
空间占用大的原因
发现/var/spool/postfix/maildrop这个目录占用了6G多的空间,网上找到一样的问题,原因是:
由于Linux在执行cron时,会将cron执行脚本中的output和warning信息,都会以邮件的形式发送cron所有者,而由于客户环境中的sendmail和postfix没有正常运行,导致邮件发送不成功,全部小文件堆积在了maildrop目录下面,而且没有自动清理转换的机制,所以长达一年的时间,此目录已堆积了大量的文件。查看mancron的信息,可以知道会发送给cronowner.
于是尝试删除这个目录下的内容,但是执行rm-rf./*竟然提示参数列表过长,后来使用如下命令删除:
ls|xargsrm-f
通过管道的方式删除。
脚本重定向输出
所以注意在crontab脚本输出内容到日志,或者/dev/null2>&1,避免产生大量不必要的文件。
几个Linux查找文件和空间的命令
find.-typef-size+1000000k查找大文件和目录
du-s*|sort-nr|head显示前十个占用空间最大的文件或目录
du-sh*遍历目录大小
df-hl系统各挂载硬盘空间大小
总结
以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作能带来一定的帮助,如果有疑问大家可以留言交流,谢谢大家对毛票票的支持。