Linux как удалить старые файлы?
Для различных задач вам может понадобиться механизм удаления старых файлов, например файлы которые не изменялись 30 дней.
Это можно сделать простой командой.
find /var/log/tmp/ -mtime +30 -type f -delete |
Вариаций написания команды масса — этот вариант в принципе простой и понятный.
Так же для удаления старых файлов можно использовать утилиту tmpwatch.
Ее правда нет в стандартных репозитариях Debian, поэтому нужно скачивать отдельно. Утилиту лучше использовать, когда не достаточно простого скрипта, у нее есть различные дополнительные опции при запуске.
Команду для очистки старых файлов можно использовать в случаях, когда возникает вопрос как очистить старые сессии сайтов?
Можно использовать встроенные возможности PHP, но там есть нюансы, поэтому надежнее в cron поставить команду, например, раз в сутки и быть спокойным.
Пример строки в crontab для выполнения очистки в 06:05 каждое утро
5 6 * * * root find /site/test.com/www/tmp/ -mtime +20 -type f -delete > /dev/null 2>&1 |
Кстати, это старые сессии могут быть реально проблемой для сервера — в интернете описываются случаи, когда накапливались несколько миллионов файлов сессий! Это приводит к ненужной перегрузки сервера и даже к выпадению процессов!
Так что проверьте нет ли у вас подобного, так как обычно проблема приходит в самый неожиданный момент.
Спасибо, на насе взлетел скрипт
А этот
find /home/user -type f -mtime +N -exec rm {} \;
не работал)
Спасибо, наконец-то нашел именно то что искал