无法创建临时文件 - 设备上没有剩余空间

无法创建临时文件 - 设备上没有剩余空间

我在运行某些命令时遇到问题,控制台显示:*

bash:无法为此处文档创建临时文件:设备上没有剩余空间

roo@Server: df -h
    Filesystem                 Size  Used Avail Use% Mounted on
    udev                       991M  4.0K  991M   1% /dev
    tmpfs                      201M  408K  200M   1% /run
    /dev/disk/by-label/DOROOT   40G   20G   18G  54% /
    none                       4.0K     0  4.0K   0% /sys/fs/cgroup
    none                       5.0M     0  5.0M   0% /run/lock
    none                      1001M     0 1001M   0% /run/shm
    none                       100M     0  100M   0% /run/user

经过查找和验证,Inode 已经满了 100%:

root@Server: df -i
Filesystem                 Inodes   IUsed  IFree IUse% Mounted on
udev                       253531     402 253129    1% /dev
tmpfs                      256244     339 255905    1% /run
/dev/disk/by-label/DOROOT 2621440 2620484    956  100% /
none                       256244       2 256242    1% /sys/fs/cgroup
none                       256244       1 256243    1% /run/lock
none                       256244       1 256243    1% /run/shm
none                       256244       3 256241    1% /run/user

我如何删除正确的文件,安全删除 inode 文件吗?我在互联网上研究了几个删除命令,但我不确定它是否会删除系统文件/有用的文件。

root@Server:   for i in /*; do echo $i; find $i |wc -l; done
/lib
11347
/proc
66820
/root
115
/run
338
/sbin
180
/sys
20920
/tmp
1
/usr
198764
/var
2407447

我该如何修复这个问题?

答案1

像@HBrujn 建议的那样,我按大文件搜索:

for i in /var/lib/*; do echo $i; find $i |wc -l; done

我注意到是来自 php5 的会话文件

/var/lib/php5/

我在哪里运行此代码来删除旧的会话文件(+1 天)

now=$(date +%s); time for i in /var/lib/php5/sess_5*; do if ((($(stat "$i" -c '%Z') + (86400 )) < $now)); then rm -fv $i; fi; done

相关内容