LINUX.ORG.RU

bash как удалить файлы и директории, старше x-дней?

 , ,


0

3

Есть некая директория Test. В ней находятся файлы и папки. Как удалить только то, что старше 10 дней к примеру.

Попытка применить

find  /volume1/Test -cmin +$storetime -delete

приводит к удалению и самой директории Test, если в ней нет свежих файлов, естественно.

Ответ на: комментарий от PunkoIvan

TС: добавь ключик type -f к файнду и в результате будут только файлі.

Там не только файлы под удаление, но и папки, в том то и проблема.

Illujanka ()
Последнее исправление: Illujanka (всего исправлений: 1)
Ответ на: комментарий от teod0r

про ключ -mindepth тебе уже писали

Всегда удивляет в тутошних комментаторов желание решить как можно узкую задачу с возможностью появления завтра у ТСа еще вопроса, например, что делать, если в каталоге появится другие подкаталоги и rm на них ругается. Одно дело, когда универсальное требует кучу нового кода, другое дело, что правильный ответ скорее всего не -mindepth, а таки тоже уже данный "-type f"

vodz ★★★★★ ()
Последнее исправление: vodz (всего исправлений: 1)

приводит к удалению и самой директории Test, если в ней нет свежих файлов, естественно.

делай touch /path/to/search/dir/.placeholder перед запуском find и всё. Никаких find dir/*, это пропустит все файлы и директории начинающиеся с точки «.»

futurama ★★★★ ()
Ответ на: комментарий от vodz

с возможностью появления завтра у ТСа еще вопроса, например, что делать, если

В данном условии было сказано удалить только то, что старше 10 дней, без уточнения файлы или директории, но с сохранением директории верхнего уровня. К данному условию идеально подходит -mindepth.

Задачи нужно решать по условию и по мере поступления, а не прикидываться Вангой.

surefire ★★★ ()
Ответ на: комментарий от surefire

Задачи нужно решать по условию и по мере поступления, а не прикидываться Вангой.

Вот только у вас не Ванга, а натуральный наполеонизм какой-то. Я комментировал не вас, а teod0r-а, который комментировал скрипт bash как удалить файлы и директории, старше x-дней? (комментарий)

vodz ★★★★★ ()