l3d.restic_archiver

ansible_role_restic_archiver

Ansible-Rolle zum "Archivieren" von Restic-Backups.

Das Szenario für diese Rolle ist:

  • Sie haben den Restic-Server im Nur-Schreibmodus.
  • Sie senden Backups von anderen Servern zu Ihrem Restic-Backup-Server.

Jetzt möchten Sie nicht alle Backups unbegrenzt speichern, sondern nur für die letzten Tage ein tägliches Backup und sonst wöchentlich, monatlich, jährlich einige... ganz so, wie Sie es wünschen.

Natürlich möchten Sie keinen Zugriff für andere gewähren, also lösen Sie das Ganze mit einem lokalen Cronjob. Und dieser Cronjob wird mit dieser Ansible-Rolle erstellt.

Als Bonusfunktion können Sie die Backups optional auf eine andere Festplatte übertragen (sogar mit einem anderen Passwort). Das ist auch ein sehr charmantes Backup-Konzept aus Sicht der Sicherheit.

Diese Rolle installiert nicht Restic. Dafür empfehlen wir diese Ansible-Rolle. Wir haben mit dieser Rolle gute Erfahrungen für den Restic-Server gemacht.

Variablen:

---
# Welche Repos sollten wir standardmäßig bereinigen?
restic_archiver__repos: {}
#  - name: beispiel_server:
#    location: /srv/restic/beispiel_server_repo
#    password: sicherespasswort4eXaMpleSserver
#  - name: anderer_server
#    location: /srv/restic/anderer_server_repo
#    password: xtrasesicherdifferentpassword4other
#    archive: true
#    archive_location: /mnt/archive/anderer_server_repo
#    archive_password: archive4anderer_server_passwort
#    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

# Wie lange sollten wir alle Backups standardmäßig aufbewahren?
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

# Eigentümer und Benutzer aller Restic-Daten
restic_archiver__owner: 'root'
restic_archiver__group: 'root'

# Zeitplan für den Restic-Cronjob
restic_archiver__hour: '3'
restic_archiver__minute: '32'

# Überprüfen, ob die Festplatte gemountet ist
restic_archiver__mount_required: false
# Welche Festplatte muss gemountet werden
restic_archiver__mount_disk: '/mnt/'
# Nach Benutzung aushängen?
restic_archiver__umount_after_usage: false

# Erforderliche Pakete
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'

# Standardoptionen für Restic
restic_archiver__default_opt: ''

# Zusätzliche Nachrichten
restic_archiver__additional_mail_msg: ''
# Versionsprüfung für dieses Playbook (true wird empfohlen)
submodules_versioncheck: false

restic_archiver__cache_config: false
restic_archiver__cache_dir: '~/.cache/restic'
restic_archiver__prune: false
Über das Projekt

Role to deploy restic and setup backups.

Installieren
ansible-galaxy install l3d.restic_archiver
GitHub Repository
Lizenz
mit
Downloads
276
Besitzer
Ansible roles provide a framework for fully independent, or interdependent collections of variables,tasks,files,templates &modules. Here we maintain some. enjoy