今天服务器监控突然曝出了如下的错误:
vfs.fs.inode[/,pfree]):5 %
登录到服务器上df -i
一看/路径下96%,而数据目录/data下才用了30%,故初步判断生成的数据量正常,可能是一些系统产生的文件把根路径占满了
于是乎在执行以下命令,查看根路径下各个文件夹的文件数
for i in /*; do echo $i; find $i |wc -l|sort -nr; done
数文件数超过10w的有两个/data(我们的数据分区,确认数据量正常)和/var
/data 13w 文件
/var下70w 文件
楼主linux水平有限,于是把/var下的目录一个个的执行了上面的命令
for i in /var/cache; do echo $i; find $i |wc -l|sort -nr; done
for i in /var/db; do echo $i; find $i |wc -l|sort -nr; done
........
重点来了,当执行到下面的时候
for i in /var/spool/; do echo $i; find $i |wc -l|sort -nr; done
文件夹里有70w 文件
于是重复上述步骤,终于找到了罪魁祸首
for i in /var/spool/postfix/maildrop/; do echo $i; find $i |wc -l|sort -nr; done
/var/spool/postfix/maildrop/下有67w 文件
于是乎执行rm -rf ./* 竟然报错
只能来大招了。
find . -name "*" | xargs rm -rf
10s后,成功收到报警解除的邮件
胜利处理完困扰我好几天的问题