Очистка сервера Debian или Ubuntu от временных файлов и кэша
Главная → Просто о сложном → Для всех → Очистка сервера Debian или Ubuntu от временных файлов и кэша
Со временем сервер забивается временными файлами (сессии, кэш пакетов и пр), и это, помимо того что занимает место, тормозит сервер, хотя на наших некоторых VPS помимо ограничения на размер, есть и ограничение на количество файлов (iNodes).
Для начала можно проверить сколько же места всего на сервере и сколько осталось:
df -h
сколько файлов:
df -i
сколько файлов в определенной папке (пример если стоит isp manager, то файлы сессий хранятся в mod-tmp и bin-tmp)
ls -R /var/www/*/data/mod-tmp | wc -l
ls -R /var/www/*/data/bin-tmp | wc -l
ls -R /var/www | wc -l
Если нужно вывести список папок и количество в них файлов, для ознакомления и понимания общей картины:
cd /var/www
for D in `ls -Fl | grep / | awk '{print $9}'` ; do echo $D `find $D -type f -print | wc -l` ; done
Удаляем временные файлы (при большой посещаемости их может быть миллионы, а удаление 10-20 часов занять):
find /var/www/*/data/mod-tmp -name "sess_*" -type f -exec rm {} ;
А чтобы ручками не делать, есть простое решение:
в php.ini раскомментировать строчку
;session.gc_probability = 0
а еще лучше дописать еще две:
session.gc_probability = 1session.gc_divisor = 1000session.gc_maxlifetime = 1440
сессии тогда автоматически будут сами удаляться
Как вариант пошаманить с кроном
добавить в скрипт /etc/cron.d/php5 к строке
09,39 * * * * root [ -x /usr/lib/php5/maxlifetime ] && [ -d /var/lib/php5 ] && find /var/lib/php5/ -type f -cmin +$(/usr/lib/php5/maxlifetime) -print0 | xargs -n 200 -r -0 rm
дополнительную строку
09,39 * * * * root [ -x /usr/lib/php5/maxlifetime ] && [ -d /var/www ] && /usr/bin/find /var/w