Какая команда может удалять папки старше X дней или X месяцев?

Я знаю команду сделать то же самое с файлами, но как насчет папок (и всех файлов в нем, конечно)?

1
задан 11 December 2011 в 00:41

2 ответа

Предполагаемая команда find.

Вы должны использовать команду -exec rm -r {} \; и добавить параметр -depth.

Параметр -r для rm удалить каталоги со всем содержимым. Опция -depth сообщает find, чтобы выработать содержимое папок перед самой папкой.

2
ответ дан 25 May 2018 в 16:03
  • 1
    Это почти идеально, спасибо. Есть ли способ, чтобы он не удалял фактическую папку, в которой я ищу? Таким образом, удаляются только папки внутри папки? В настоящее время я делаю «найти» / home / user / folder / " -mtime +7 -exec rm -r {} \; & quot ;, но он удалил папку с именем " folder " а также если совпадение времени. Я хочу, чтобы вложенные папки удалялись старше 7 дней. – nLinked 11 December 2011 в 01:24
  • 2
    Решено использовать: rm -rf "/ target / каталог с пробелами /" * – nLinked 11 December 2011 в 02:12
find ./dirc/* -mtime +x -type f -delete
./dirc/*: ваш каталог (путь) -mtime +x: старше x дней -type f: только файлы -delete: не удивительно. Удалите его для проверки перед тем, как rm

Автоматическое удаление файлов старше 7 дней

0
ответ дан 25 May 2018 в 16:03

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

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