l3d.restic_archiver

ansible_role_restic_archiver

Rola Ansible służąca do "archiwizacji" kopii zapasowych restic.

Scenariusz dla tej roli to:

  • Masz serwer restic działający w trybie tylko do zapisu.
  • Wysyłasz kopie zapasowe z innych serwerów na swój serwer kopii zapasowych restic.

Nie chcesz przechowywać wszystkich kopii zapasowych bez końca, tylko te z ostatnich dni oraz codzienne, a poza tym tygodniowe, miesięczne i roczne, kilka... tak jak to robisz.

Oczywiście nie chcesz dawać dostępu innym, więc rozwiązujesz to przy pomocy lokalnego zadania cron. I to zadanie jest zbudowane z użyciem tej roli Ansible.

Jako funkcję dodatkową możesz opcjonalnie przenieść kopie zapasowe na inny dysk (nawet z innym hasłem). To także bardzo interesujący koncept kopii zapasowej z punktu widzenia bezpieczeństwa.

Ta rola nie instaluje restic. W tym celu polecamy tę rolę Ansible. Mamy dobre doświadczenia z tą rolą dla serwera restic.

Zmienne:

---
# które repozytoria mamy czyścić domyślnie
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

# jak długo chcemy przechowywać wszystkie kopie zapasowe domyślnie
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

# właściciel i użytkownik wszystkich rzeczy związanych z restic
restic_archiver__owner: 'root'
restic_archiver__group: 'root'

# harmonogram zadania cron dla restic
restic_archiver__hour: '3'
restic_archiver__minute: '32'

# sprawdza, czy dysk jest zamontowany
restic_archiver__mount_required: false
# który dysk ma być zamontowany
restic_archiver__mount_disk: '/mnt/'
# odmontować po użyciu?
restic_archiver__umount_after_usage: false

# wymagane pakiety
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'

# domyślne opcje restic
restic_archiver__default_opt: ''

# dodatkowe wiadomości
restic_archiver__additional_mail_msg: ''
# sprawdzenie wersji dla tego playbooka (zalecane jest ustawienie na true)
submodules_versioncheck: false

restic_archiver__cache_config: false
restic_archiver__cache_dir: '~/.cache/restic'
restic_archiver__prune: false
O projekcie

Role to deploy restic and setup backups.

Zainstaluj
ansible-galaxy install l3d.restic_archiver
Licencja
mit
Pobrania
276
Właściciel
Ansible roles provide a framework for fully independent, or interdependent collections of variables,tasks,files,templates &modules. Here we maintain some. enjoy