Ведение, прореживание и удаление устаревших файлов архивов.
Для каждой архивириемой сущности указывается
- шаблон файла для идентификации и опредения из имени даты архивации,
- интервалы (их длительность в днях) хранения архивов (для каждого интервала будет сохранен 1 архив).
При каждом запуске (например, по крону) будет проверяться список файлов и применятья интервалы удаления.
По окончанию отчет высылается на почту. В нем указывается количество файлов на удержании и удаленных, а также нераспознанные файлы.
Интервалы [1, 1, 1, 2, 2, 3, 3] означают
- первые три дня будет сихраняться по бекапу в день
- в 4-5 дни - 1 бекап и 6-7 - 1 бекап
- 8-10 - 1 бекп и 11-13 - 1 бекап
- старшие бекапы будут удалены
Файл конфигурации bkprotate.yaml (располагается рядом с бинарником)
mail:
host: "host"
port: 25
verify: false # проверка ssl ключа сервера на валидность
from: "bkp@host"
to: [ "admin@host" ]
dir: dir
rules:
- p: dir/db-{2006-01-02}.tst # маска для поиска файлов
i: [1, 1, 1, 1, 2, 2, 2, 3] # интервалы
- p: dir/files-{2006-01-02}.tst
i: [2, 2, 2, 5]
- минимальный интервал сейчас 1 день, сделать его произвольным
- если новых файлов не поступает узнать об этом можно только по остутсвию удаляемых. надо сделать интервал ожидания новоых файлоы и сигнализировать в отчете о его просрочке