Командная строка Middle Базы данных в эксплуатации обновлено

Ротация бэкапов: дневные и месячные

Условие

На stdin список файлов бэкапов вида db-ГГГГ-ММ-ДД.dump в произвольном порядке (по одному на дату). Политика хранения: оставить 7 самых свежих бэкапов, а также 3 самых свежих бэкапа, сделанных 1-го числа месяца (они могут совпадать с дневными). Выведите строки delete <файл> для удаляемых файлов по возрастанию даты, а последней строкой kept <число оставленных>.

Как подойти

Подсказки: 2
  1. Даты ISO сортируются как строки.
  2. grep -vxF -f keep all оставит строки all, которых нет в keep.

Решите в тренажёре

Редактор с автотестами прямо в браузере. Можно решить спокойно, вслух или под таймером, как на собесе.

Термины по теме