autorestic

Установщик Autorestic/Restic

Роль Ansible для установки и настройки restic и autorestic. Вдохновение/основа для этой роли пришла от @IronicBadger и также от @ItsNotGoodName за улучшения в установщике/копировании конфигурации.

Установите с помощью ansible-galaxy install fuzzymistborn.autorestic

Возможности

  • Установка и настройка двоичных файлов restic и autorestic.
  • Копирование/обновление файла конфигурации autorestic.
  • Обновление двоичных файлов, если доступно обновление и версия не зафиксирована.

Настройка

Эта роль имеет ряд переменных, которые можно настраивать.

Кроме того, вы можете зафиксировать конкретную версию любого из двоичных файлов с помощью autorestic_pinned_ver или restic_pinned_ver. По умолчанию роль загружает и устанавливает последнюю доступную версию и будет выполнять команду обновления, если двоичный файл уже присутствует, каждый раз, когда роль запускается. Вы можете отключить это, зафиксировав конкретную версию. Вот пример, если вы хотите установить версию.

autorestic_download_latest_ver: false
autorestic_pinned_ver: 1.2.0
restic_download_latest_ver: false
restic_pinned_ver: 0.12.1

Устанавливая зафиксированную версию, команды обновления не будут выполняться, и версия будет загружена только если установленная версия не соответствует зафиксированной версии.

Другие переменные, которые можно изменить:

autorestic_config_user: root
autorestic_config_yaml: CHANGEME  # конфигурация autorestic в yaml
autorestic_config_path: "{{ autorestic_user_directory }}/.autorestic.yml"
autorestic_config_mode: 0600
autorestic_config_owner: "{{ autorestic_config_user }}"
autorestic_config_group: "{{ autorestic_config_user }}"

autorestic_distro: linux_amd64
restic_distro: linux_amd64

Другие переменные, такие как restic_gh_url, restic_install_directory и т.д., я не рекомендую изменять, если вы не хотите настроить установку.

Смотрите страницы релизов для autorestic и restic, чтобы найти правильную дистрибуцию для вашей установки.

Пример файла конфигурации Autorestic

Конфигурация Autorestic по умолчанию копируется в домашний каталог пользователя root. Это можно изменить на домашний каталог другого пользователя с помощью переменной autorestic_config_user.

Ниже приведен пример, который показывает все доступные опции.

autorestic_config_yaml:
  locations:
    docker:
      from: '/opt/docker'
      to:
        - local
        - b2_docker
  backends:
    local:
      type: local
      path: /backup
      key: 123
    b2_docker:
      type: s3
      path: 'b2_backend_url'
      key: b2_password
      env:
        AWS_ACCESS_KEY_ID: 1234
        AWS_SECRET_ACCESS_KEY: 1234abc

Для дополнительной документации, пожалуйста, ознакомьтесь с официальными документами.

API Github

Эта роль использует API GitHub для определения последнего доступного релиза. По умолчанию роль использует неавторизованные запросы, которые ограничены GitHub до 60 запросов в час. Запросы связаны с исходным IP-адресом. Для большинства случаев это не проблема. Однако вы можете столкнуться с ограничением по количеству запросов. При авторизации вы можете делать 5000 запросов в час.

Чтобы авторизоваться, вам нужно получить Личный токен доступа. Токен не требует выбора каких-либо областей. Затем добавьте следующие переменные:

github_api_user: fuzzymistborn
github_api_pass: YOUR_TOKEN
github_api_auth: yes

Вот и все!

Запланированные задачи

  • Добавить переменные cronjob (?) для базовых задач (резервное копирование, забыть и т.д).
    • Не думаю, что реализую. Слишком персонализировано и слишком много разнообразия в реализации. Буду продолжать думать, как это сделать.
  • Найти способ зафиксировать restic даже при обновлении autorestic.

Если вам нравится моя работа, пожалуйста, рассмотрите возможность угостить меня пивом (или кофе, или чем-то другим)

ko-fi

О проекте

Installs restic/autorestic and creates backup configuration file

Установить
ansible-galaxy install FuzzyMistborn/ansible-role-autorestic
Лицензия
gpl-3.0
Загрузки
30138
Владелец