linux df -i 100%处理

发现空间是足够的,然后df -i 查看了下inodes,发现根目录下的inodes值使用率为100%了

解决方法:通过以下脚本进行检查,查看到底哪个目录下面的文件最多:

find / -xdev -printf '%h ' | sort | uniq -c | sort -k 1 -n
最终发现/var/soppl目录最多。然后又进一步确定是/var/spool/amavisd/quarantine 目录下面有上百万个文件,机器已经无法正常显示了,后来百度查看了下这个目录是邮件服务器,处理垃圾邮件活病毒邮件隔离的,明白原因了,删除该目录下所有文件;使用xargs命令来删除数量比较多的文件:

ls | xargs -n 10 rm -rf

var/spool/clientmqueue目录~清理

天nagios报警,一台服务器的disk满了,使用du -sh * 或 du -sh /* 查看目录的大小,查找占用空间大的目录/var/spool/clientmqueue....

然后我就想/var/spool/clientmqueue这个目录干嘛用的,纠结了半天,谷歌了下,原来/var/spool/clientmqueue是如果系统中有用户开启了cron,而cron中执行的程序有输出内容,输出内容会以邮件形式发给cron的用户,而sendmail没有启动所以就产生了这些文件。

服务器上确实有cron定时执行数十个脚本,而且都没有设置输出定向,日积月累的文件都被保存在/var/spool/clientmqueue目录下面乐 = =.

解决方法:在cron的自动执行语句后加上> /dev/null 2>&1
例:
4 3 * * * /usr/bin/w > /dev/null 2>&1
这样就OK拉,就不会写到那个目录下了....

在这里说一点,/var/spool/clientmqueue目录文件太多,rm -rf *时候会提示:

“-bash: /bin/rm: Argument list too long“..
意思是参数太长,rm 干不了。
可以用ls | xargs rm -f这个命令将/var/spool/clientmqueue目录下所有文件删除。

作者:间歇性-精神病 出处:https://www.cnblogs.com/Intermittent-psychosis/ 本文版权归作者和博客园共有,欢迎转载,但未经作者同意请保留此段声明,请在文章页面明显位置给出原文连接 Github:https://github.com/don15278/python.git
原文地址:https://www.cnblogs.com/Intermittent-psychosis/p/10766254.html