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

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

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



1 звезда2 звезды3 звезды4 звезды5 звезд (3 оценок, в среднем: 3,67 из 5)

Поделиться с друзьями:

Ещё похожие заметки:


1 Comment

Iam
Фев 8, 2019 at 15:24

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


 

Написать

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