vrischmann.restic

Restic

Wdrażaj kopie zapasowe restic za pomocą usług i timerów systemd.

Ta rola ma dwa tryby:

  • user, który dodaje usługi i timery dla użytkownika (dla twojego normalnego użytkownika).
  • server, który dodaje usługi i timery dla systemu.

Wymagania

Musisz mieć zainstalowany restic i już zainicjowane repozytoria.

Zmienne roli

Nazwa Wymagana Opis
restic_binary nie Pełna ścieżka do pliku binarnego restic.
restic_backup_mode tak Tryb kopii zapasowej (albo "user", albo "server").
restic_user_home nie Katalog domowy użytkownika (jeśli działa w trybie "user").
restic_user_name nie Nazwa użytkownika (jeśli działa w trybie "user").
restic_user_group nie Grupa użytkownika (jeśli działa w trybie "user").
restic_backups tak Lista definicji kopii zapasowych dla restic.
restic_conf_directory nie Katalog konfiguracyjny (jeśli działa w trybie "server").

Definicja kopii zapasowej

Lista restic_backups zawiera N elementów definiujących kopie zapasowe.

Każda definicja kopii zapasowej musi zawierać następujące informacje:

  • Nazwa repozytorium (używana dla usług systemd: używaj tylko znaków alfanumerycznych)
  • Zmienne środowiskowe dla restic do użycia z repozytorium
  • Specyfikacja kalendarza dla timera systemd.
  • Katalogi do wykonania kopii zapasowej

Może również zawierać listę katalogów do wykluczenia.

Na przykład, ta definicja określa dwa repozytoria:

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

Licencja

MIT

O projekcie

Deploy restic backups using systemd services and timers

Zainstaluj
ansible-galaxy install vrischmann.restic
Licencja
mit
Pobrania
134
Właściciel
Still learning