Как я могу улучшить свою команду cron, чтобы удалить необходимые папки?

#cron #cpanel

#cron #cpanel

Вопрос:

У меня есть ввод задания cron, как показано.

Как есть, он удаляет большинство файлов 13-дневной давности или старше, но не всегда получает их все, и он часто запускается в непустые папки, которые он не может удалить (и отчеты как таковые). Ошибка: «найти: невозможно удалить'[усеченный]’: каталог не пуст»

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

 find /home/account/mysite.com/subfolder/iamworkingin/ -mindepth 1 -mtime  13 -delete
  

Мне нужно, чтобы все, что было до 13 дней до текущей даты, было полностью удалено за пределы указанной рабочей папки, удалив все вложенные папки на нескольких / разных уровнях глубины.

Ответ №1:

Вы могли бы попробовать увеличить ваш -mindepth до 2 или более.

Или вы могли бы попробовать -exec . Таким образом, вы могли бы принудительно удалить, используя rm -f и / или rm -r для каталогов / recursive .

find /home/account/mysite.com/subfolder/iamworkingin/ -mindepth 2 -mtime 13 -exec rm -fr {} ;

Комментарии:

1. Глубина вложенных папок может варьироваться, иногда она составляет 5 или около того. итак, я должен удалить -mindepth и вместо этого использовать -exec ? В вашем предложении сказано rm -f , что ваш пример использует rm -r . Что я должен использовать здесь? -exec Требует ли использование использования {} ? Поскольку мой графический интерфейс cPanel не позволяет мне вводить строку закрытия ; .

2. Извиняюсь за путаницу. Я отредактировал, чтобы уточнить использование -f и -r . Хотя забудьте об этом, если ваша cPanel все равно не разрешает -exec . Так что, возможно, было бы лучше увеличить mindepth до 5 или более с тем, что у вас есть в первую очередь, и посмотреть, поможет ли это.