linux操作系统清理maildrop空间
今天发现服务器空间占用已经超过90%阈值,需要清理。
一、到根目录下查看哪层目录空间占用最大
cd /
du -h --max-depth=1
利用同一个命令逐层查看
最后发现
/var/spool/postfix/maildrop/目录占用量很大
二、由于linux在执行cron时,会将cron执行脚本中的output和warning信息,都会以邮件的形式发送cron所有者, 而我的服务器中关闭了postfix,导致邮件发送不成功,全部小文件堆积在了maildrop目录下面。
如果sendmail或者postfix正常运行,则会在/var/mail目录下也会堆积大量的邮件。
由于本人服务器是老旧服务器,已经上线查过7年时间,累计文件数据量已经超过百万。
三、可以暴力清空之间使用到
/var/spool/postfix/maildrop/ 执行rm -f 全部清空。
但是本人使用笨方法 一年一年清空
ls -ltr|grep 2013|awk '{print $7}'|xargs rm -f
使用本命名删除当年数据会有问题,linux下文件时间显示的原因,可以发散思维思考该如何。
刚开始时本人没有awk '{print $7}',一直报rm出错,仔细想过后,因为ls -ltr命令是显示信息的,并不是只有文件名。使用awk只显示第7列后执行rm -f 成功执行。
四、清空完成后用df -h 看是否空间到达阈值。
其实数据少量时常用命令为find和-exce的结合使用,本人因为数据量超过百万,用find命令时报错参数列表过长。所有用了ls来查找历年数据后再删除。