vrischmann.restic

Restic

Разворачивайте резервные копии restic с использованием системных сервисов и таймеров systemd.

Эта роль имеет два режима:

  • user — добавляет сервисы и таймеры для пользователя.
  • server — добавляет системные сервисы и таймеры.

Требования

Необходимо, чтобы restic был установлен и ваши репозитории уже инициализированы.

Переменные роли

Имя Обязательно Описание
restic_binary нет Полный путь к бинарному файлу restic.
restic_backup_mode да Режим резервного копирования (либо "user", либо "server").
restic_user_home нет Домашний каталог пользователя (если работает в режиме "user").
restic_user_name нет Имя пользователя (если работает в режиме "user").
restic_user_group нет Группа пользователя (если работает в режиме "user").
restic_backups да Список определений резервных копий для restic.
restic_conf_directory нет Каталог конфигурации (если работает в режиме "server").

Определение резервной копии

Список restic_backups содержит N элементов, определяющих резервные копии.

Каждое определение резервной копии должно содержать следующую информацию:

  • Имя репозитория (используйте только алфавитно-цифровые символы для сервисов systemd)
  • Переменные окружения для restic для использования репозитория
  • Спецификация расписания для таймера systemd.
  • Каталоги для резервного копирования

Также можно указать список каталогов для исключения.

Например, это определяет два репозитория:

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

Лицензия

MIT

О проекте

Deploy restic backups using systemd services and timers

Установить
ansible-galaxy install vrischmann.restic
Лицензия
mit
Загрузки
134
Владелец
Still learning