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