outwire.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.restic