restic_archiver
ansible_role_restic_archiver
Ansible-роля для "архивации" резервных копий restic.
Сценарий для этой роли:
- У вас работает сервер restic в режиме только для записи
- Вы отправляете резервные копии с других серверов на ваш сервер резервных копий restic
Теперь вы не хотите хранить все резервные копии бесконечно, а только за последние дни, а ежедневные резервные копии — только за неделю, месяц, год и немного дольше... как вы делаете это обычно.
Конечно, вы не хотите предоставлять доступ другим, поэтому вы решаете все с помощью локального cronjob. И этот cronjob создается с помощью этой Ansible-роли.
В качестве дополнительной функции вы можете по желанию перенести резервные копии на другой диск (даже с другим паролем). Что также является очень привлекательной концепцией резервного копирования с точки зрения безопасности.
Эта роль не устанавливает restic. Для этого мы рекомендуем эту ansible-роль. У нас был хороший опыт с этой ролью для restic rest server.
Переменные:
---
# какие репозитории мы должны очищать по умолчанию
restic_archiver__repos: {}
# - name: example_server:
# location: /srv/restic/example_server_repo
# password: securepassword4eXaMpleSserver
# - name: other_server
# location: /srv/restic/other_server_repo
# password: xtrasecuredifferentpassword4other
# archive: true
# archive_location: /mnt/archive/other_server_repo
# archive_password: archive4other_server_password
# archive_cleanup: true
# keep_last: 5
# keep_hourly: 4
# keep_daily: 1
# keep_weekly: 1
# keep_monthly: 1
# keep_yearly: 1
# keep_within: 1
# prune: true
# как долго мы должны хранить все резервные копии по умолчанию
restic_archiver__keep: 5
restic_archiver__keep_hourly: 16
restic_archiver__keep_daily: 14
restic_archiver__keep_weekly: 8
restic_archiver__keep_monthly: 16
restic_archiver__keep_yearly: 12
# владелец и пользователь всех ресурсов restic
restic_archiver__owner: 'root'
restic_archiver__group: 'root'
# расписание cronjob для restic
restic_archiver__hour: '3'
restic_archiver__minute: '32'
# проверка, смонтирован ли диск
restic_archiver__mount_required: false
# какой диск должен быть смонтирован
restic_archiver__mount_disk: '/mnt/'
# отмонтировать после использования?
restic_archiver__umount_after_usage: false
# необходимые пакеты
restic_archiver__package:
- cron
restic_archiver__log_output: true
restic_archiver__logrotate: true
restic_archiver__mailsummary: false
restic_archiver__mail_on_error: false
restic_archiver__mailaddress: 'root@localhost'
# параметры по умолчанию для restic
restic_archiver__default_opt: ''
# дополнительные сообщения
restic_archiver__additional_mail_msg: ''
# проверка версии для этого плейбука (рекомендуется true)
submodules_versioncheck: false
restic_archiver__cache_config: false
restic_archiver__cache_dir: '~/.cache/restic'
restic_archiver__prune: false
ansible-galaxy install roles-ansible/ansible_role_restic_archiver