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
ansible-galaxy install l3d.restic_archiver