Linux как удалить старые файлы?

Раздел: Linux
Написано: 24.05.2015
Автор: Antonio

Для различных задач вам может понадобиться механизм удаления старых файлов, например файлы которые не изменялись 30 дней.

clean old files linux

Это можно сделать простой командой.

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

Кстати, это старые сессии могут быть реально проблемой для сервера — в интернете описываются случаи, когда накапливались несколько миллионов файлов сессий! Это приводит к ненужной перегрузки сервера и даже к выпадению процессов!

Так что проверьте нет ли у вас подобного, так как обычно проблема приходит в самый неожиданный момент.

Поделиться с друзьями или в соц.сетях (спасибо)
Ещё похожие заметки:

2 комментария

Iam
Фев 8, 2019 15:24

Спасибо, на насе взлетел скрипт
А этот
find /home/user -type f -mtime +N -exec rm {} \;
не работал)

 
Олександр
Янв 10, 2020 14:31

Спасибо, наконец-то нашел именно то что искал

 

Написать

Копирование информации с сайта возможно только с указанием прямой ссылки - https://nemcd.com