Команда Ubuntu server 18.04 для удаления содержимого подпапок каждые 6 месяцев

У меня есть папка, которая содержит много разных подпапок и файлов в подпапке

home/customer/main/a
home/customer/main/b

(каждая буква от a до z - это пример случайного имени папки: дом, медиа и т. Д.) Я хочу чтобы иметь возможность очистить файлы в папке после того, как один из этих файлов достиг 6-месячного возраста, но оставить систему папок нетронутой. и это автоматически запускается один раз в месяц

2
задан 22 April 2019 в 01:46

1 ответ

Функциональность, которую вы ищете, - это то, что фактически делает logrotate . Дополнительное преимущество: файлы также могут быть сжаты. Примеры , больше и больше . Так что выбирайте это, так как это стандарт в Linux.

  • logrotate также понимает концепцию месяцев.

Но если вам нужна команда, вы можете использовать

find /home/customer/main/ -mtime +183 -exec rm {} +
  • 183 дня - это примерно 6 месяцев (и с безопасностью 6 месяцев), чтобы упростить его. .
  • Вы можете добавить его в cron и запускать его два раза в год. Вы можете использовать это: 30 03 01 Jan,Jul * для аргументов даты.
0
ответ дан 22 April 2019 в 01:46

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

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