欢迎各位兄弟 发布技术文章

这里的技术是共享的

You are here

inode满了如何处理 有大用

点击上方“IT那活儿”,关注后了解更多精彩内容!!!

发现inode满了如何处理呢?话不多说,我们直接进入正题!

1、归档日志创建失败的原因查找,发现磁盘目录空间充裕。

2、查看文件inode使用情况,已经满了。

3、查找最大文件数的目录。

ls -lR|grep "^-"|wc -l

4、清理办法梳理

方法一:直接删除。

rm -rf *log

方法二find命令删除。

find ./ -name "*log" -mtime +3 -exec rm {} \;

find ./ -name "*log*" -mtime +1 -delete

Delete效率要比上面的exec 要快很多。

方法三同步到空目录。

mkdir /tmp/emptyrsync --delete-before -d /tmp/empty/ /the/folder/you/want/delete/


rsync实际上用的是替换原理,处理数十万个文件也是秒删。

三种方法对比总结:

rm只能用在少量文件的地方,find  -delete适合大量文件,rsync适合超大量文件。

我采取方法二,发现删不动,尝试方法三,也是hang住。

查看目录使用的进程数,发现进程数情况不对劲。

CROND进程不断增加。

使用killall postfix杀掉发送邮件的进程,再使用删除命令,可以正常清理。

Inode恢复正常,启动归档自动清理脚本,问题得到处理。

雷区:

网上有很多让人改邮件发送的一个cron文件/etc/crontab中的MAILTO=root,千万不要动,会影响其他服务。


总结


系统需要时时勤维护,系统一环一环的套娃行为很容易破坏的数据库的运行状态,反推的过程是相对比较麻烦的,每一次处理要把根源找到,杜绝在苗头


来自  https://www.modb.pro/db/172924



普通分类: