vrischmann.restic
Restic
Bereitstellung von restic Backups mithilfe von systemd-Diensten und Timern.
Diese Rolle hat zwei Modi:
user
, der benutzerweite Dienste und Timer hinzufügt (für deinen normalen Benutzer).server
, der systemweite Dienste und Timer hinzufügt.
Anforderungen
Du musst restic installiert und deine Repositories bereits initialisiert haben.
Rollenvariablen
Name | Erforderlich | Beschreibung |
---|---|---|
restic_binary |
nein | Vollständiger Pfad zur restic-Binärdatei. |
restic_backup_mode |
ja | Backup-Modus (entweder "user" oder "server"). |
restic_user_home |
nein | Heimatverzeichnis des Benutzers (wenn im "user"-Modus ausgeführt). |
restic_user_name |
nein | Name des Benutzers (wenn im "user"-Modus ausgeführt). |
restic_user_group |
nein | Gruppe des Benutzers (wenn im "user"-Modus ausgeführt). |
restic_backups |
ja | Liste der Backup-Definitionen für restic. |
restic_conf_directory |
nein | Konfigurationsverzeichnis (wenn im "server"-Modus ausgeführt). |
Backup-Definition
Die Liste restic_backups
enthält N Elemente, die die Backups definieren.
Jede Backup-Definition muss folgende Informationen enthalten:
- Den Namen des Repositories (wird für die systemd-Dienste verwendet: nur alphanumerische Zeichen verwenden)
- Die Umgebungsvariablen, damit restic das Repository nutzen kann
- Die Kalenderspezifikation für den systemd-Timer.
- Die Verzeichnisse, die gesichert werden sollen
Es kann auch eine Liste von Verzeichnissen enthalten, die ausgeschlossen werden sollen.
Zum Beispiel definiert dies zwei Repositories:
restic_backups:
- name: remote-scaleway
env:
AWS_ACCESS_KEY_ID: "{{ restic_scaleway_aws_access_key_id }}"
AWS_SECRET_ACCESS_KEY: "{{ restic_scaleway_aws_secret_access_key }}"
RESTIC_REPOSITORY: "s3:s3.fr-par.scw.cloud/foobar/home"
RESTIC_PASSWORD: "{{ restic_remote_password }}"
calendar_spec: "*-*-* *:00/15:00"
backup_directories:
- /home/vincent
excludes:
- /home/vincent/tmp
- name: remote-linode
env:
AWS_ACCESS_KEY_ID: "{{ restic_linode_aws_access_key_id }}"
AWS_SECRET_ACCESS_KEY: "{{ restic_linode_aws_secret_access_key }}"
RESTIC_REPOSITORY: "s3:eu-central-1.linodeobjects.com/foobar/barbaz"
RESTIC_PASSWORD: "{{ restic_remote_password }}"
calendar_spec: "*-*-* *:00/15:00"
backup_directories:
- /data/media
excludes:
- /data/media/Movies
Lizenz
MIT
Installieren
ansible-galaxy install vrischmann.restic
Lizenz
mit
Downloads
134
Besitzer
Still learning