vrischmann.restic

Restic

restic バックアップを systemd サービスとタイマーを使用してデプロイします。

この役割には2つのモードがあります:

  • 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 サービスに使用:英数字のみを使用)。
  • リポジトリを使用するための環境変数。
  • systemd タイマーのカレンダースペック。
  • バックアップするディレクトリ。

除外するディレクトリのリストも含めることができます。

例えば、次のように2つのリポジトリを定義します:

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