我确实需要一些帮助。我在 DigitalOcean 有一个 Ubuntu 14.04.6 帐户,遇到了一些与空间不足相关的错误。当我通过 ssh 进入帐户并在命令行执行制表符补全时,我收到以下错误:
bash: cannot create temp file for here-document: No space left on device
如果我run df -h
得到
Filesystem Size Used Avail Use% Mounted on
udev 233M 4.0K 233M 1% /dev
tmpfs 49M 876K 49M 2% /run
/dev/vda1 20G 8.2G 11G 44% /
none 4.0K 0 4.0K 0% /sys/fs/cgroup
none 5.0M 0 5.0M 0% /run/lock
none 245M 0 245M 0% /run/shm
none 100M 0 100M 0% /run/user
然而,如果我这样做,df -i
我会得到
Filesystem Inodes IUsed IFree IUse% Mounted on
udev 59582 404 59178 1% /dev
tmpfs 62700 334 62366 1% /run
/dev/vda1 1310720 1310720 0 100% /
none 62700 3 62697 1% /sys/fs/cgroup
none 62700 4 62696 1% /run/lock
none 62700 1 62699 1% /run/shm
none 62700 2 62698 1% /run/user
当我尝试执行各种任务时,我遇到各种空间错误。
我认为该问题与有关/dev/vda1
。在网上搜索该问题后,似乎与 PHP 会话文件未删除有关。事实上,我尝试了:
ls -l /var/lib/php
total 66772
drwxr-xr-x 3 root root 4096 Mar 16 2019 modules
drwx-wx-wt 2 root root 68366336 Dec 29 04:27 sessions
我知道我需要深入研究自动 cron 任务并找出为什么没有删除内容。但是,首先我需要足够的空间来实际做一些工作。但我不知道如何删除此文件夹的内容。我试过:
sudo find /var/lib/php/sessions -name "sess_*" -exec rm {} \;
sudo find /var/lib/php/sessions -type f -delete
sudo sh -c "rm -rf /var/lib/php/sessions/*"
发出命令后,他们似乎都没有采取任何行动。
2020年3月14日更新:我又遇到了这个错误,再次无法删除文件。不过,至少我找到了解决删除问题的方法 [3]。解决方案是使用 rsync 进行删除。我做了以下操作
cd /var/lib/php
sudo mkdir emptydir
rsync -a --delete /var/lib/php/emptydir/ /var/lib/php/sessions/
来源:
[1]PHP 会话目录已满?