vrischmann.restic

Restic

Implementa copias de seguridad de restic utilizando servicios y temporizadores de systemd.

Este rol tiene dos modos:

  • user, que agrega servicios y temporizadores a nivel de usuario (para tu usuario normal).
  • server, que agrega servicios y temporizadores a nivel del sistema.

Requisitos

Necesitas tener restic instalado y tus repositorios ya inicializados.

Variables del Rol

Nombre Requerido Descripción
restic_binary no Ruta completa del binario restic.
restic_backup_mode Modo de copia de seguridad (ya sea "user" o "server").
restic_user_home no Directorio home del usuario (si se ejecuta en modo "user").
restic_user_name no Nombre del usuario (si se ejecuta en modo "user").
restic_user_group no Grupo del usuario (si se ejecuta en modo "user").
restic_backups Lista de definiciones de copias de seguridad para restic.
restic_conf_directory no Directorio de configuración (si se ejecuta en modo "server").

Definición de Copia de Seguridad

La lista restic_backups contiene N elementos que definen las copias de seguridad.

Cada definición de copia debe contener la siguiente información:

  • El nombre del repositorio (usado para los servicios de systemd: usa solo caracteres alfanuméricos)
  • Las variables de entorno que restic necesita para usar el repositorio
  • La especificación de calendario para el temporizador de systemd.
  • Los directorios a respaldar

También puede contener una lista de directorios a excluir.

Por ejemplo, esto define dos repositorios:

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

Licencia

MIT

Acerca del proyecto

Deploy restic backups using systemd services and timers

Instalar
ansible-galaxy install vrischmann.restic
Licencia
mit
Descargas
134
Propietario
Still learning