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
О проекте

Role to deploy restic and setup backups.

Установить
ansible-galaxy install roles-ansible/ansible_role_restic_archiver
Лицензия
mit
Загрузки
267
Владелец
Ansible roles provide a framework for fully independent, or interdependent collections of variables,tasks,files,templates &modules. Here we maintain some. enjoy