Назад | Перейти на главную страницу

Не удается удалить папку php / sessions

Мне действительно нужна помощь. У меня есть учетная запись Ubuntu 14.04.6 в DigitalOcean, и я сталкиваюсь с некоторыми ошибками, связанными с нехваткой места. Когда я 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/*"

Похоже, что никто из них ничего не делает после подачи команды.

Обновление 14 марта 2020 г .: Я снова столкнулся с этой ошибкой, и снова мне было трудно удалить файлы. Однако, по крайней мере, я нашел решение проблемы удаления [3]. Решение - использовать rsync для удаления. Я сделал следующее

cd /var/lib/php
sudo mkdir emptydir
rsync -a --delete /var/lib/php/emptydir/ /var/lib/php/sessions/

Источник:

[1] Каталог сеанса PHP заполнен?

[2] Каталог сессий PHP продолжает заполняться до переполнения

[3] https://unix.stackexchange.com/questions/37329/efficiently-delete-large-directory-contain-thousands-of-files