linux下空间满可能有两种情况

可以通过命令

df -h  查看磁盘空间占用,实际上是查看磁盘块占用的文件(block)

df -ih  查看索引节点的占用(Inodes)

 

一、面对磁盘满了,通过下列命令找出没有用的大文件删除,接口

磁盘块和索引节点其中之一满,都会导致无法创建文件,提示磁盘空间已满。

所以请注意,查看磁盘还有空间,但是创建文件提示空间满,可能是inodes节点已满

1.通过命令(最厉害):du -hs * | sort -h

查看当前目录内文件夹的大小cd /www目录

2.通过命令:find / -size +100M |xargs ls -lh

列出系统内大于100M的文件

可以两种方式都测试下,有些时候,占用了大量空间的其实是系统日志或业务附件等小文件,

 

二、索引节点Inodes满了,解决办法

  1.进入/根目录然后执行

find */ ! -type l | cut -d / -f 1 | uniq -c

  2.然后一层一层找出文件最多目录,定位出哪个目录占用inodes最多(通常inodes是因为小文件太多)

rm -rf *

ls | xargs rm -f

  5.df -ih 可以看到Inodes终于回来了很多空间

/var/spool/clientmqueue,那么说明你使用了计划任务,而且按秒执行

  备注:为什么var/spool/clientmqueue会产生大量的文件呢,查资料是因为cron执行时会将相关结果以mail方式发送到执行用户的帐号,可是当sendmail 沒有启动 那么所有信件就会暂存在这个目录中,此时就会出现这种情况。

crontab -e (修改计划任务,最好刷新一下计划任务或者等几分钟,使其生效)

> /dev/null 2>&1
  02 4 * * * root run-parts /etc/cron.daily > /dev/null 2>&1

  8.修改计划任务这样就不会产生记录了,完美结局Inodes空间满的问题!

 

 

du  [,di:'ju:]  详细X

基本翻译

n. 二重唱;双人组合

网络释义

du: 显示目录或文件的大小

du hast: 你有

Seven Du: 杜金房