今天朋友告诉我,他的网站总提示验证码错误;记得网站是用dede做的,应该是空间不足.

上服务器df -lh看了下,很富裕的说;但是依旧报No space left on device;

查了下,发现是

linux服务器文件的特殊结构导致的:

  • inode是用来记录文件的大小,物理地址,属主,属组,读写权限,时间戳,被硬链接的次数等等元数据的.
  • block是用来存储数据的.

查看命令

df -li  #inode
df -lh  #block

定位问题目录

#查出是哪个目录小文件过多导致的
for i in /*; do echo $i; find $i |wc -l; done

#继续按照目录深入 
for i in /home/*; do echo $i; find $i |wc -l; done

用上面的命令很快找出问题产生的原因,是因为{$web_dir}/data/session/生成的session文件过多导致的. 知道了原因,也就好解决了;删除所有session文件,加定时任务清理即可.