![Как удалить каталоги старше одного часа (задание cron)](https://rvso.com/image/1316752/%D0%9A%D0%B0%D0%BA%20%D1%83%D0%B4%D0%B0%D0%BB%D0%B8%D1%82%D1%8C%20%D0%BA%D0%B0%D1%82%D0%B0%D0%BB%D0%BE%D0%B3%D0%B8%20%D1%81%D1%82%D0%B0%D1%80%D1%88%D0%B5%20%D0%BE%D0%B4%D0%BD%D0%BE%D0%B3%D0%BE%20%D1%87%D0%B0%D1%81%D0%B0%20(%D0%B7%D0%B0%D0%B4%D0%B0%D0%BD%D0%B8%D0%B5%20cron).png)
Мое приложение создает каталоги, когда пользователь выполняет определенные действия. Эти каталоги хранятся на моей машине ровно один час, а затем удаляются.
Теперь я хотел бы перенести часть приложения, отвечающую за логику удаления, в задание cron, которое будет запускаться каждую минуту.
Допустим, каталоги для удаления находятся в /tmp/files/
. Скрипт должен проверить все каталоги по этому пути иудалить все, что было создано час назад.
Любая помощь будет оценена по достоинству.
Заранее спасибо!
**РЕШЕНО**
Это сработает:
find ./* -mmin +60 -type d -exec rm -rdf {} \;
решение1
Не следует использовать этот метод, find ./*
поскольку это заставит оболочку расширять подстановочный знак перед вызовом, find
что приведет к ошибке, если файлов слишком много.
Вместо этого вам нужно передать "./*"
команду find следующим образом:
find . -type d -path "./*" -mmin +60 -exec rm -rf {} \;