vrischmann.restic

Restic

Déployez des sauvegardes restic en utilisant des services et des minuteries systemd.

Ce rôle a deux modes :

  • user qui ajoute des services et des minuteries au niveau de l'utilisateur (pour votre utilisateur normal).
  • server qui ajoute des services et des minuteries au niveau du système.

Exigences

Vous devez avoir restic installé et vos dépôts déjà initialisés.

Variables du rôle

Nom Requis Description
restic_binary non Chemin complet du binaire restic.
restic_backup_mode oui Mode de sauvegarde (soit "utilisateur" ou "serveur").
restic_user_home non Répertoire personnel de l'utilisateur (si en mode "utilisateur").
restic_user_name non Nom de l'utilisateur (si en mode "utilisateur").
restic_user_group non Groupe de l'utilisateur (si en mode "utilisateur").
restic_backups oui Liste des définitions de sauvegarde pour restic.
restic_conf_directory non Répertoire de configuration (si en mode "serveur").

Définition de sauvegarde

La liste restic_backups contient N éléments définissant les sauvegardes.

Chaque définition de sauvegarde doit contenir les informations suivantes :

  • Le nom du dépôt (utilisé pour les services systemd : n'utilisez que des caractères alphanumériques)
  • Les variables d'environnement pour que restic utilise le dépôt
  • La spécification de calendrier pour la minuterie systemd.
  • Les répertoires à sauvegarder

Elle peut également contenir une liste de répertoires à exclure.

Par exemple, cela définit deux dépôts :

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

Licence

MIT

À propos du projet

Deploy restic backups using systemd services and timers

Installer
ansible-galaxy install vrischmann.restic
Licence
mit
Téléchargements
134
Propriétaire
Still learning