19 июл. 2013 г.

Удаление старых файлов одной командой в Linux

С помощью команды find легко удалять или перемещать или копировать файлы, с датой модификации старше заданной. Удобно помещать такую команду в cron.

Например, для файлов старше 5 дней:

find /path/to/files* -mtime +5 -exec rm {} \;

Для файлов, измененных в пределах 24...48 часов:

find /path/to/files* -mtime 1 -exec rm {} \;

Это версия для Debian, на RHEL надо писать чуть по-другому:

find /path/to/files* -mtime +0 -exec rm {} \;

Создать файлы для тестирования можно командой (например, дата 2 апреля):

touch -d '2 Apr' /path/to/test_file