Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/icukeng/bkprotate

rotating archive backup archives
https://github.com/icukeng/bkprotate

backup retention rotation

Last synced: about 1 month ago
JSON representation

rotating archive backup archives

Awesome Lists containing this project

README

        

# bkprotate
Ведение, прореживание и удаление устаревших файлов архивов.

Для каждой архивириемой сущности указывается
* шаблон файла для идентификации и опредения из имени даты архивации,
* интервалы (их длительность в днях) хранения архивов (для каждого интервала будет сохранен 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]
```

### TODO
* минимальный интервал сейчас 1 день, сделать его произвольным
* если новых файлов не поступает узнать об этом можно только по остутсвию удаляемых. надо сделать интервал ожидания новоых файлоы и сигнализировать в отчете о его просрочке