Cron Job — команда для ежедневного удаления всех файлов .flv

У меня есть эта команда, которую я запускаю каждый день через cron:

find /home/get/public_html/videos -daystart -maxdepth 0 
-mtime +1 -type f -name "*.flv" |xargs rm -f

Проблема в том, что он не удаляет файлы .flv в каталоге, которым 1 или более дней.

Как я могу исправить приведенную выше команду?

РЕДАКТИРОВАТЬ: Пол - команда «ls -l /home/get/public_html/videos» приводит к более чем 2000 файлам, но вот 2 из них, которые следует удалить:

-rw-r--r--  1 get get   3501188 Jan  4 15:24 f486cf0a2b6bb40e4c50c991785084131231104229.flv
-rw-r--r--  1 get get  10657314 Jan  4 17:51 f5f1490ddaa11a663686f9d06fb37d981231112941.flv

person Abs    schedule 06.01.2009    source источник
comment
Что оно делает? Удаляет старые файлы, не удаляет файлы, выдает ошибку....?   -  person The Archetypal Paul    schedule 06.01.2009
comment
Он ничего не удаляет и ничего не возвращает, потому что я думаю, что он ничего не нашел. При этом никаких ошибок.   -  person Abs    schedule 06.01.2009
comment
Можете ли вы добавить результат ls -l /home/get/public_html/videos к своему вопросу?   -  person The Archetypal Paul    schedule 06.01.2009
comment
Что произойдет, если вы сделаете это -maxdepth 1, как предлагали другие? (и просто -print, а не xargs пока!)? (У меня нет GNU find в доступных мне системах Unix)   -  person The Archetypal Paul    schedule 06.01.2009
comment
Вы правы, Пол, это работает с -maxdepth 1, как сказал Винко Врсалович. Теперь это работает! :)   -  person Abs    schedule 06.01.2009


Ответы (2)


Лучше использовать -print0 при поиске и -0 в xargs, если один файл имеет необычное имя.

Кроме того, вы хотите использовать -maxdepth 1, чтобы действительно найти что-то в указанном каталоге.

-maxdepth 0 означает, что он будет искать только в каталогах, перечисленных в командной строке, он не будет проверять содержимое этих каталогов.

person Vinko Vrsalovic    schedule 06.01.2009
comment
Правильно -maxdepth 1 - это то, что мне нужно. - person Abs; 06.01.2009

Вы имеете в виду, что если у вас есть каталог /home/get/public_html/videos/foo, он не удаляет файлы в них? Это связано с тем, что у вас установлен аргумент -maxdepth 0, который предотвращает спуск find в подкаталоги.

person Zach Hirsch    schedule 06.01.2009
comment
Я хочу, чтобы команда искала видео в каталоге и не заходила ни в какие подпапки. Означает ли это, что я должен удалить -maxdepth 1? - person Abs; 06.01.2009
comment
Нет, в этом случае -maxdepth 1 - это то, что вам нужно. - person Zach Hirsch; 06.01.2009