Как удалить содержание каталога, которое является более старым, чем один день с жемчугом в crontab

Как упомянуто в заголовке, я пытаюсь удалить файлы, которые являются более старыми, чем один день в каталоге со многими много файлов (на самом деле не удаляя упомянутый каталог) - каталог сохранен удаленным rsnapshot сервером, таким образом, мне не нужны исходные файлы больше, как только они сохранены, проблема - это

find /directory/* -mtime +1 -delete

дает ошибку 'список аргументов слишком долго', так как существует то, что много файлов (они даже не являются настолько большими, это - просто много изображений и маленьких видео от камеры видеонаблюдения, работающей с программным обеспечением движения - который является большим между прочим ;)

Я споткнулся эту команду, которую я мог использовать с crontab:

perl -e 'for(<~/test1/*>){((stat)[9]<(unlink))}'

но я действительно не понимаю эту команду, поскольку я понял, что это - некоторый цикл. Это действительно на самом деле работало над тестовым каталогом, который я создал (test1, очевидно) с набором тестовых файлов, которые были все моложе, чем один день, я не думаю, что 'более старый, чем' аргумент находится даже в здесь..

Как я пошел бы об этом? Не стесняйтесь изменять мой вопрос, если это не ясно.

1
задан 17 May 2017 в 20:19

2 ответа

find является рекурсивным. Вы не должны делать find /directory/*, просто использовать:

find /directory/ -mtime +1 -delete
2
ответ дан 7 December 2019 в 13:33

Если find /directory/* -mtime +1 -delete действительно производит правильные файлы, но просто слишком долго список, что относительно:

находят / каталог /*-mtime +1 |, в то время как считано fName; сделайте $fName комнаты; сделанный

Или запись вывод в файл сначала и затем обрабатывают файл. Много дорог приводят к Риму... :)

0
ответ дан 7 December 2019 в 13:33

Другие вопросы по тегам:

Похожие вопросы: