restic
Ansible Role: restic
Настройка резервного копирования с использованием restic и runrestic.
Переменные роли
restic_version: 0.12.0
runrestic_version: 0.5.20
Версия restic и runrestic, которые необходимо установить.
restic_systemd_timer_oncalendar: daily
Спецификация времени и даты, когда будут выполняться задачи создания и очистки. См. документацию systemd для возможных значений.
Конфигурация runrestic
Обязательные аргументы
restic_repository
: Путь к репозиторию. Может быть списком, если вы хотите сделать резервное копирование в несколько репозиториев.
restic_password
: Пароль для репозитория.
restic_source_directories
: Список локальных папок для резервного копирования.
Необязательные аргументы
restic_backup_name: restic backup
- Имя для резервной копии.
restic_execution_parallel: true
- Параллельное создание резервной копии.restic_execution_retry_count: 10
- Количество повторов.restic_execution_retry_backoff: 1:00 exponential
- Стратегии повторной попытки (статическая, линейная, экспоненциальная).
restic_environment_variables: []
- Переменные окружения для restic, см. документацию restic для всех доступных опций.
restic_exclude_patterns: []
- Шаблоны для исключения из резервного копирования.restic_exclude_files: []
- Файлы для исключения из резервного копирования.
restic_pre_hooks: []
- Выполнить команду перед резервным копированием.restic_post_hooks: []
- Выполнить команду после резервного копирования.
restic_retention_policy:
keep_last: 3
keep_daily: 7
keep_weekly: 4
keep_monthly: 6
Политика хранения для того, сколько резервных копий хранить в каждой категории (ежедневные, еженедельные, ежемесячные и т.д.).
restic_checks: []
Список проверок на целостность.
restic_metrics_prometheus: false
restic_metrics_prometheus_path: /var/lib/node_exporter/textfile_collector/runrestic.prom
Метрики Prometheus для коллектора текстовых файлов node_exporter.
restic_metrics_prometheus_password_replacement: XXX
- Заменить пароли из репозиториев в метриках.
Пример плейбука
Локальное резервное копирование
- hosts: servers
vars:
restic_repository: /srv/restic-repo
restic_password: changeme
restic_source_directories:
- /var/www
- /etc
roles:
- { role: outwire.restic }
Резервное копирование S3
- hosts: servers
vars:
restic_repository: s3:s3.example.com/bucket123/backup
restic_password: changeme
restic_environment_variables:
AWS_ACCESS_KEY_ID: changeme_access_key
AWS_SECRET_ACCESS_KEY: changeme_secret_key
restic_source_directories:
- /var/www
- /etc
roles:
- { role: outwire.restic }
Лицензия
MIT
ansible-galaxy install outwire/ansible-role-restic