Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
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
- Host: GitHub
- URL: https://github.com/icukeng/bkprotate
- Owner: icukeng
- Created: 2019-04-08T12:54:11.000Z (over 5 years ago)
- Default Branch: master
- Last Pushed: 2023-03-16T10:31:57.000Z (almost 2 years ago)
- Last Synced: 2024-06-21T03:31:49.972Z (6 months ago)
- Topics: backup, retention, rotation
- Language: Go
- Homepage:
- Size: 6.84 KB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
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 день, сделать его произвольным
* если новых файлов не поступает узнать об этом можно только по остутсвию удаляемых. надо сделать интервал ожидания новоых файлоы и сигнализировать в отчете о его просрочке