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

Über das Projekt

Deploy restic backups using systemd services and timers

Installieren
ansible-galaxy install vrischmann.restic
GitHub Repository
Lizenz
mit
Downloads
134
Besitzer
Still learning