Архив Тэгов: Файловая система

Linux: удаление файлов по дате

Доброго времени суток.

Встала передо мной задача удаления большого количества файлов (около 1 млн штук). Но удалить надо не все, а только те, которые были созданы до начала текущего месяца. Сами понимаете, выделять все — не вариант, частично — может уйти целая жизнь. Нашел в сети отличное на мой взгляд решение. Вот пример команды, которую я использовал. Попробую разобрать без документации что в ней что значит :)

find -maxdepth 1 -type f -newermt "Apr 10" ! -newermt "Aug 01" -delete

-maxdepth - это максимальная глубина поиска. В моем примере искал только внутри одной папки.

-type - это тип поиска. f — файлы.

-newermt - с какой даты начать удаление. Указал кратко месяц и день. Думаю можно туда же добавить и год если будет такая необходимость — читает стандартные форматы даты.

-delete - ну это собственно команда удаления.

Хочется отметить, что до этого был опыт удаления файлов по маске. Удаление через find работает значительно быстрее, я бы даже сказал в несколько раз быстрее.

Вот и все.

Яндекс.Метрика