Как упомянуто в заголовке, я пытаюсь удалить файлы, которые являются более старыми, чем один день в каталоге со многими много файлов (на самом деле не удаляя упомянутый каталог) - каталог сохранен удаленным rsnapshot сервером, таким образом, мне не нужны исходные файлы больше, как только они сохранены, проблема - это
find /directory/* -mtime +1 -delete
дает ошибку 'список аргументов слишком долго', так как существует то, что много файлов (они даже не являются настолько большими, это - просто много изображений и маленьких видео от камеры видеонаблюдения, работающей с программным обеспечением движения - который является большим между прочим ;)
Я споткнулся эту команду, которую я мог использовать с crontab:
perl -e 'for(<~/test1/*>){((stat)[9]<(unlink))}'
но я действительно не понимаю эту команду, поскольку я понял, что это - некоторый цикл. Это действительно на самом деле работало над тестовым каталогом, который я создал (test1, очевидно) с набором тестовых файлов, которые были все моложе, чем один день, я не думаю, что 'более старый, чем' аргумент находится даже в здесь..
Как я пошел бы об этом? Не стесняйтесь изменять мой вопрос, если это не ясно.
find
является рекурсивным. Вы не должны делать find /directory/*
, просто использовать:
find /directory/ -mtime +1 -delete
Если find /directory/* -mtime +1 -delete
действительно производит правильные файлы, но просто слишком долго список, что относительно:
находят / каталог /*-mtime +1 |, в то время как считано fName; сделайте $fName комнаты; сделанный
Или запись вывод в файл сначала и затем обрабатывают файл. Много дорог приводят к Риму... :)