欢迎光临
嗟嗟嗟~じぇじぇじぇ!~(''jjj'')/

解决磁盘的inode满100%提示磁盘已满

碰到明明磁盘有空间却一直提示没有可用空间,一番搜索发现是inode已满,涨姿势啊!可以通过df -i 查看磁盘的inode号,结果发现inode号在这个磁盘中使用为百分之百。OMG

原因:
1、通常是发现磁盘没有满但是无法写入文件。提示“no space left on device”
2、用df -i 查看,应该会发现相应的分区是100%
3、一般都是crontab的job有问题,造成/var/spool/clientmqueue中产生许多的零碎文件。

处理方法:
1、用rm -rf *会不能删除,并会有相应的提示,大意是参数太多。
2、可以用多种方法,这里提及一个我随便写的,在/var/spool/clientmqueue/下执行命令:“lsattr ./|awk -F"/" '{print $3}'|xargs -i rm -rf {}”用lsattr列出./下面的文件名的属性,用awk取出名字,然后rm -rf。
3、还有一个方法比较普遍的使用:“find /var/spool/clientmqueue/ -type f -exec rm {} \;”或者在/var/spool/clientmqueue/目录下“find ./ -exec rm {} \;”。
4、上面方法删除提示“-bash: /bin/rm: Argument list too long“..或者“find: cannot fork: Cannot allocate memory”可以用ls | xargs rm -f这个命令将/var/spool/clientmqueue目录下所有文件删除。
5、将crontab中没有定向输出的行都在最后加上“> /dev/null 2>&1”,在删除的过程中操作。或者先停止crontab,加上重定向。
例:
4 3 * * * /usr/bin/w > /dev/null 2>&1
这样就OK拉,就不会写到那个目录下了....

未经允许不得转载:嗟嗟嗟 » 解决磁盘的inode满100%提示磁盘已满
分享到: 更多 (0)

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址