Ответ 1
Try:
find /myDir -mindepth 1 -mtime 7 -exec rm -rf {} \;
Я уверен, что это прямолинейно, и я ответил где-то, но мне не удалось найти то, что я искал. В основном, я пытаюсь запустить cron script, чтобы очистить содержимое данного каталога каждые 7 дней. До сих пор я пробовал следующее:
find /myDir -mtime 7 -exec rm -rf {} \;
Это также удаляет родительский каталог myDir, который мне не нужен. Я также пробовал,
find /myDir -type f -type d -mtime 7 -delete
который, казалось, ничего не делал. Я также пробовал,
fnd /myDir -type d -delete
который удалил все, кроме родительского каталога, как мне нужно. Однако появилось предупреждающее сообщение,
относительный путь потенциально небезопасный
Я был бы признателен, если кто-нибудь сможет исправить мой script, чтобы он безопасно удалял все подкаталоги в папке.
Большое спасибо. =)
ОБНОВЛЕНИЕ: Я решил пойти на следующее,
find /myDir -mindepth 1 -mtime 7 -delete
Основываясь на том, что я узнал от всех, кто ответил. Еще раз большое спасибо всем вам.
Try:
find /myDir -mindepth 1 -mtime 7 -exec rm -rf {} \;
Что насчет
cd myDir/ ; find . -type d -delete
предполагая, что вы запускаете это из родительского каталога myDir
.
Если вы не можете гарантировать, что myDir существует, тогда это безопаснее:
cd myDir/ && find . -type d -delete
find /myDir -mindepth 1 -mtime 7 -delete
должен быть
find /myDir -mindepth 1 -mtime +7 -delete
(или, может быть, mtime +6
). +
означает 7 дней или старше, а не ровно 7 дней.