共计 545 个字符,预计需要花费 2 分钟才能阅读完成。
系统:CentOS;一般的 Linux 系统也可以用这种方法。
情况描述:今天我们邮件服务器收发不了邮件了,而且连接到服务器上开启服务都开不了,起始以为磁盘空间不足,df 看了一下
发现空间是足够的,然后 df -i 查看了下 inodes,发现根目录下的 inodes 值使用率为 100% 了
解决方法:通过以下脚本进行检查,查看到底哪个目录下面的文件最多:
for i in /*; do echo $i; find $i | wc -l; done(如果确定是某个目录下面,则 / 转换为该目录绝对路径,如 /var/spool,则使用 for i in /var/spool/*; do echo $i; find $i | wc -l; done)
最终发现 /var/soppl 目录最多。然后又进一步确定是 /var/spool/amavisd/quarantine 目录下面有上百万个文件,机器已经无法正常显示了, 后来百度查看了下这个目录是邮件服务器,处理垃圾邮件活病毒邮件隔离的,明白原因了,删除该目录下所有文件;使用 xargs 命令来删除数量比较多的文件:
ls | xargs -n 10 rm -rf
执行了大约 10 多小时之后,最终解决问题。
更多 CentOS 相关信息见 CentOS 专题页面 http://www.linuxidc.com/topicnews.aspx?tid=14
正文完
星哥玩云-微信公众号