Практическое задание

Эта задача — шаг 20 курса «find и xargs: поиск и массовые операции»

find: дампы базы старше недели

легко~2 мин

В /var/backups/db скопились ночные дампы *.sql.gz. Удали дампы, изменённые больше 7 дней назад; свежие дампы и прочие файлы каталога (например, restore.lock) оставь, даже если они старые.

Что потренируешь:
  • find
  • -mtime
  • -name
  • ротация бэкапов
  • -delete

Разбор темы

Хранить бэкапы вечно дорого, поэтому старые дампы регулярно вычищают по возрасту. find измеряет возраст файла по времени изменения в сутках и различает направление знаком: +N — старше, -N — моложе, N — ровно. Условия в выражении find объединяются через И, так что маска имени и порог возраста вместе отбирают только старые дампы, не задевая служебные файлы рядом. Удаление делают встроенным -delete, поставленным в конце: стоящий раньше он сработал бы до фильтров.

Что проверяется

  1. старые дампы удалены
  2. свежие дампы на месте
  3. restore.lock на месте

Как это выглядит