本文共 872 字,大约阅读时间需要 2 分钟。
报警:Free inodes on /var (percentage) (linuxhost:vfs.fs.inode[/var,pfree]): 20 %
故障原因:/var/spool/postfix/maildrop 小文件太多造成inode索引使用完
1)查看inode使用状况;
1 2 | # df -i /dev/sda3 985424 788777 196647 81% /var |
切换到目录/var,检查哪个目录占用inode多
1 2 3 4 5 6 7 8 9 | # find */ ! -type l |cut -d / -f 1 |uniq -c /var 目录下: 786362 spool /var/spool 目录下: 786338 postfix / var /spool/postfix 目录下: 786301 maildrop |
2)查看/var/spool/postfix/maildrop是否有非常多的小文件;
1 2 3 4 5 6 7 8 9 | 清理小文件: # cd /var/spool/postfix/maildrop; ls | xargs rm -rf; 效果: /dev/sda3 985424 2495 982929 1% /var 解决根本问题: # vim /etc/crontab 将MAILTO=root替换成MAILTO= "" # service crond restart |
如果cron有什么原因需要将命令结果发一封邮件,那么就要看MAILTO这部分了,如果给MAILTO赋值了,并且不是空,那么就会发给这个用户;如果是空,MAILTO="",那就不发任何邮件。如果没有定义MAILTO,也就是说crontab里面没有写这一行,那么就发给这个crontab的主人。
进一步检查发现是某用户的crontab执行的脚本失效,已清理。
本文转自 pcnk 51CTO博客,原文链接:http://blog.51cto.com/nosmoking/1617330,如需转载请自行联系原作者