Я получил сценарий, который находит файлы в папках старше 30 дней:Попытка удалить файл и его родительские каталоги
find /my/path/*/README.txt -mtime +30
, который будет затем получить результат, такие как
/my/path/jobs1/README.txt
/my/path/job2/README.txt
/my/path/job3/README.txt
Теперь часть, на которую я застрял, - это удалить папку + файлы старше 30 дней.
find /my/path/*/README.txt -mtime +30 -exec rm -r {} \;
, похоже, не работает. Это только удалив файл readme.txt
так в идеале я хотел бы просто удалить/job1,/job2,/job3 и любые вложенные файлы
Может кто-нибудь мне точку в правильном направлении?
вы хотите удалить все файлы в папке, которая содержит файл старше, чем 30 дней, или только файлы, которые старше, чем за 30 дней (выезд в каталог, если он все еще содержит новые файлы) делать? – chepner
можно было бы найти: найти ... -depth -print и сначала удалить (rm) файлы старше 30 дней в/my/path /, а затем сделать это снова, чтобы удалить (rmdir) оставшийся/my/path/.../каталогов/старше 30 дней ... (-depth, начиная с «leafs» в дереве каталогов), но, удалив в нем файл, теперь они уже несколько секунд ^^. Поэтому вам нужно будет выполнить скрипт в несколько этапов, я думаю, –