no space left on device的解决

今天在liunx上面突然想修改下定时任务。突然发现输入 crontab -e 
会提示 no space left on device 。

根据提示,是没有空间;

1,查看空间占用 df -Ph



 

各个目录都还有剩余空间。那就不是空间的事情。

2,查看inode。命令 df -li 

果然发现是 inode 用尽了。。inode 不懂的同学可以百度下。

根据原理,是因为liunx 生成了太多的小文件了,把inode 用尽了。这样就好办了。

找到不用的日志文件,删除一些,这样就可以释放出来一些。

但是,此方法不是根本方法。

3,不停的查找,出现异常的目录。

笨方法,不停的进一级目录使用 du -sh * ,通过展示文件夹的大小,来分析不正常的目录。

发现有个文件夹里面的文件大小异常。/var 超过了几个G。

再一查,/var/log/maillog 文件超过了几个G。明显不正常。

通过查看 tail -fn 200 maillog 的记录发现,里面的内容基本是记录 邮件发送的日志。表明邮件服务器的程序出问题了。不停的在写。

而且进入安装目录发现邮件服务器下的 maildrop 目录下;

命令 ls -l |wc -l  有几百万个。

问题找到了,先停掉 postfix stop;

再删除 。直接使用 rm -rf * 会提示错误。可以使用 ls -l |xargs rm -f .

等几分钟,删除完成以后,整个世界都清静了。由于目前邮件服务器不再使用,所以就直接把程序给停掉了。

以上记录。

猜你喜欢

转载自wrong1111.iteye.com/blog/2215565