We are happy to announce that Vesta is back under active development as of 25 February 2024. We are working on v1 candidate and expect to engage more with the community over the coming months. We are committed to open source, and we encourage contributors to help us build the future of Vesta.
/home/admin/tmp закончились inodes
/home/admin/tmp закончились inodes
Здравствуйте. Как я понял, у меня примерно эта ситуация http://www.thin.kiev.ua/unix/39-unix/60 ... query.html - закончились айноды из-за файлов сессий в папке /home/admin/tmp, но я не могу удалить эти файлы, пробовал как по ссылке - не получается, ввожу команды в putty - и тишина, в соседнем putty проверяю количество inod-ов - оно не меняется, что делать?
Пробовал еще так
rm -rf /home/admin/tmp/sess_*
тоже тишина... (не знаю, правильно ли придумал команду)
Помогите, сайт не работает из-за этого...
ps вроде заработало так rm -rfd /home/admin/tmp
айноды начали появляться, вопрос, эта команда не удалит саму папку tmp? В этой папке хранятся только файлы сессий, ничего другого важного не затрется?
Пробовал еще так
rm -rf /home/admin/tmp/sess_*
тоже тишина... (не знаю, правильно ли придумал команду)
Помогите, сайт не работает из-за этого...
ps вроде заработало так rm -rfd /home/admin/tmp
айноды начали появляться, вопрос, эта команда не удалит саму папку tmp? В этой папке хранятся только файлы сессий, ничего другого важного не затрется?
Re: /home/admin/tmp закончились inodes
Code: Select all
nice find /home/*/tmp -type f -name 'sess_*' -ctime +3 -delete
Можно сделать sh скрипт и запускать из-под рута в кроне.
Re: /home/admin/tmp закончились inodes
Насколько я понял find со звездочкой не поможет, т. к. он вначале строит дерево файлов, что-то такое, а потом только удаляет, а т. к. файлов ОЧЕНЬ много (сколько не знаю), то команда просто зависает. Решил, кажется, этой командой (давно это было)skurudo wrote:Вот так можно красиво обойти все каталоги и почистить сессии.Code: Select all
nice find /home/*/tmp -type f -name 'sess_*' -ctime +3 -delete
Можно сделать sh скрипт и запускать из-под рута в кроне.
rm -rfd /home/admin/tmp
но удалилась и сама папка tmp... Удалялось все часами.
Re: /home/admin/tmp закончились inodes
Что вы, помогает и еще как.nitsik wrote: Насколько я понял find со звездочкой не поможет, т. к. он вначале строит дерево файлов, что-то такое, а потом
Естественно процесс не быстрый, но вполне рабочий.
Я сразу вспоминаю вот эту статью, как раз по теме.nitsik wrote:только удаляет, а т. к. файлов ОЧЕНЬ много (сколько не знаю), то команда просто зависает. Решил, кажется, этой
Для расширения кругозора крайне рекомендую :)
https://habrahabr.ru/post/157613/
Потому что вот так :)nitsik wrote:командой (давно это было)
rm -rfd /home/admin/tmp
но удалилась и сама папка tmp... Удалялось все часами.
Code: Select all
rm -rfd /home/admin/tmp/*
Re: /home/admin/tmp закончились inodes
Т. к. опять случилась такая же ситуация на vps, то скажу, что команда
работает ООООчень медленно - освобождается где-то 1 inodes в секунду +-, а у меня их занято около 600 тыс.
и заканчивается все
Команда же
почистила все за несколько минут (скорость примерно 10 тыс. inodes в секунду). Конечно после этого пришлось создавать папку и назначать ей былые права
Пока лучшего решения не нашел.
Code: Select all
rm -rfd /home/admin/tmp/*
и заканчивается все
Code: Select all
-bash: /bin/rm: Argument list too long
Code: Select all
rm -rfd /home/admin/tmp
Code: Select all
mkdir /home/admin/tmp
chown -R admin:admin /home/admin/tmp/
Re: /home/admin/tmp закончились inodes
for security reasons the php-build-in garbage collector is not used in Debian (permissions) to not allow session-hijacking on multi-user systems!?
Because Debian sets very stringent permissions on /var/lib/php5 (1733, owner root, group root) to prevent PHP session hijacking. Unfortunately, this also prevents the native PHP session garbage collector from working, because it can’t see the session files there. The cron job runs as root, which does have sufficient access to see and clean up the session files.
http://dwaves.de/2017/01/14/linux-webse ... mp-folder/
usually this script: /usr/lib/php5/sessionclean
and this cronjob: /etc/cron.d/php5
but it seems not to run, or not do the job?
so yeah as you allready said:
1. try run the sessionclean script
if that does not help.
2. manual mode:
Because Debian sets very stringent permissions on /var/lib/php5 (1733, owner root, group root) to prevent PHP session hijacking. Unfortunately, this also prevents the native PHP session garbage collector from working, because it can’t see the session files there. The cron job runs as root, which does have sufficient access to see and clean up the session files.
http://dwaves.de/2017/01/14/linux-webse ... mp-folder/
usually this script: /usr/lib/php5/sessionclean
and this cronjob: /etc/cron.d/php5
but it seems not to run, or not do the job?
so yeah as you allready said:
1. try run the sessionclean script
if that does not help.
2. manual mode:
Code: Select all
find /home/*/tmp -follow -maxdepth 1 -type f | wc -l; # count the files and symlinks in this folder
762730; # just for fun
nice find /home/*/tmp -type f -name 'sess_*' -ctime +3 -delete; # delete those files older than 3 days
# -ctime n
# File's status was last changed n*24 hours ago. See the comments
# for -atime to understand how rounding affects the interpretation
# of file status change times.