Как удалить содержимое каталога старше одного дня с perl в crontab

Eclipse

Лично я использую Eclipse для Java, C и Python.

Цитата из Википедии:

Она написана в основном на Java и может быть используется для разработки приложений на Java и с помощью различных подключаемых модулей других языков программирования, включая Ada, C, C ++, COBOL, Perl, PHP, Python, R. Ruby (включая Ruby on Rails framework), Scala, Clojure и Схема. Его также можно использовать для разработки пакетов для программного обеспечения Mathematica. IDE часто называют Eclipse ADT (Ada Development Toolkit) для Ada, Eclipse CDT для C / C ++, Eclipse JDT для Java и Eclipse PDT для PHP.

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

6 ответов

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

find /directory/ -mtime +1 -delete
1
ответ дан 22 May 2018 в 22:31
  • 1
    @steeldriver Я считал, что .. тогда я понял, что удаление чего-то сразу внутри каталога изменит mtime, а так как -delete является глубиной, сначала будет рассмотрена сама директория - так что либо она удалила некоторые файлы, либо mtime ~ now или все файлы с & lt; 1day и mtime из последнего созданного файла (так & lt; 1day). В любом случае, каталог безопасен. – muru 17 May 2017 в 20:37
  • 2
    Ahh ... хитрый;) – steeldriver 17 May 2017 в 20:40
  • 3
    Спасибо за быстрый ответ, ну это на самом деле не работает - попробовал даже с sudo - и никаких файлов вообще не удаляли (при поиске в рекурсивном каталоге, так что без * в конце) .. ?? Кажется, он принимает команду, но ничего не происходит. – deltagreen88 19 May 2017 в 15:18
  • 4
    Хорошо, попробовал с -mmin +1440, который удаляет только сам каталог, если нет одного файла, который стоит против аргумента time; поэтому, если все файлы старше одного дня, каталог также будет удален (потому что он явно старше одного дня), в противном случае он работает точно так, как я хотел, чтобы он работал, и так как всегда будут файлы, более поздние, чем один день , я не должен бояться удаления каталога. В конце концов вы могли бы выделить, что -mtime +1 на самом деле составляет 2x дней (как упоминалось в man find), что позволяет использовать -mmin over -mtime. Высоко ценится;) – deltagreen88 19 May 2017 в 17:10
  • 5
    @ deltagreen88 да, в этом случае вы можете защитить каталог: find /directory -mindepth 1 ... – muru 19 May 2017 в 17:15

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

find /directory/ -mtime +1 -delete
1
ответ дан 18 July 2018 в 13:08

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

find /directory/ -mtime +1 -delete
1
ответ дан 24 July 2018 в 20:07

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

find / directory / * -mtime +1 | при чтении fName; do rm $ fName; done

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

0
ответ дан 22 May 2018 в 22:31

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

find / directory / * -mtime +1 | при чтении fName; do rm $ fName; done

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

0
ответ дан 18 July 2018 в 13:08

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

find / directory / * -mtime +1 | при чтении fName; do rm $ fName; done

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

0
ответ дан 24 July 2018 в 20:07

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

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