notmycloud.proxmox_backup_client
Ansible-Proxmox-バックアップ-クライアント
この役割は、DebianベースのOSにProxmoxバックアップクライアントをインストールして設定します。 Proxmoxバックアップクライアントのドキュメントはこちらで見つけられます。 Proxmox Backup Client。
変数
変数 | 必須 | デフォルト | 説明 |
---|---|---|---|
proxmox_backup | はい | この役割の設定情報を含む辞書 | |
.server | はい | Proxmoxバックアップサーバへの接続情報を含む辞書 | |
.server.user | はい | PBSにアクセスするためのユーザー名 (例: backup@pbs) | |
.server.pass | はい | 指定されたユーザー名のパスワードまたはトークン | |
.server.host | はい | PBSのホスト名/FQDN/IP | |
.server.datastore | はい | バックアップを保存するデータストア | |
.server.port | いいえ | 8007 | PBS APIのカスタムポート |
.server.fingerprint | いいえ | ダッシュボードに表示されるサーバ証明書のフィンガープリント | |
.client | はい | PBCのためのクライアント設定を含む辞書 | |
.client.archives | はい | バックアップするアイテムの配列 | |
.client.archives.name | はい | アップロードするアーカイブファイルの名前、'/'文字を含むことはできません | |
.client.archives.path | はい | バックアップするパス | |
.client.archives.format | はい | 一般的なタイプはファイルアーカイブ用の.pxar、ブロックデバイスイメージ用の.imgです | |
.client.encrypt | いいえ | クライアント側の暗号化設定を含む辞書 | |
.client.encrypt.enable | はい | いいえ | クライアント側の暗号化を有効または無効にします |
.client.encrypt.pass | いいえ | 暗号化キーのパスワード(パスワード保護されている場合) | |
.client.encrypt.key | はい | ~/.config/proxmox-backup/encryption-key.json | 暗号化キーを保存するためのパス |
.client.encrypt.master | いいえ | クライアントにコピーするローカルmaster-public.pemのパス | |
.client.output | いいえ | stdoutログ形式設定オプションを含む辞書 | |
.client.output.format | いいえ | text | 可能な値はtext、json、json-prettyです |
.client.output.border | いいえ | 設定されている場合、テーブルの境界を描画しません | |
.client.output.header | いいえ | 設定されている場合、テーブルのヘッダーを描画しません | |
.client.include_devices | いいえ | 含めるマウントポイントの配列、MPsはデフォルトでスキップされます | |
.client.skip_lost_found | いいえ | いいえ | lost+foundディレクトリをスキップします |
.client.schedule.calendar | いいえ | '- * * 4:00:00' | Systemd Timer OnCalendar文字列、デフォルトは毎日4時 |
.client.schedule.runifmissed | いいえ | いいえ | 前回の開始時刻を逃した場合、サービスをトリガーします |
.client.exclude | いいえ | .pxarexcludeファイルの設定を含む配列 | |
.client.exclude[#].path | はい | .pxarexcludeのファイルパス(親フォルダ) | |
.client.exclude[#].enabled | はい | 除外ファイルを作成、ノーの場合は削除 | |
.client.exclude[#].rules | はい | 除外ルールの配列、明示的な含むことを含む場合があります |
デフォルト
default_config:
client:
encrypt:
enable: false
key: ~/.config/proxmox-backup/encryption-key.json
output:
format: text
skip_lost_found: no
schedule:
calendar: '*-*-* 4:00:00' # 毎日4時
runifmissed: no
例
全レベルグループ変数(YAML形式)
pbs_global_server:
user: backup@pbs
pass: ProxmoxBackupPassword
host: pbs.example.com
datastore: backups
fingerprint: 7f:f1:ee:...:3d:de:2b
pbs_global_client:
skip_lost_found: yes
exclude:
- path: /
rules:
- /boot/*
- /tmp/*
- path: /var/
rules:
- /run/*
- /log/*.[0-9]
- /log/*.[0-9].*
- /log/**/*.[0-9]
- /log/**/*.[0-9].*
archives:
- name: root
path: /
format: .pxar
- name: boot
path: /boot
format: .pxar
ホストレベル変数(YAML形式)
pbs_client:
archives:
- name: ssd
path: /ssd
format: .pxar
- name: data
path: /Data
format: .pxar
exclude:
- path: /ssd/qbit/
rules:
- /incomplete/*
- path: /ssd/media/
rules:
- /_transcode/temp/*
- /_transcode/log/*
- /converted/*.jpg
- /converted/*.mp4
- /.Trash*
グループのデフォルトとホストのオーバーライドをマージする
pbs_global_clientは全グループ変数です。 pbs_clientはホスト変数です。 combine(pbs_client, recursive=true)は辞書をマージします。combine内の辞書がパイプされた辞書よりも優先されます。チェーンすることもできます。
# 一方が他方を上書きしないように配列をマージします。
- name: Merge PBS Client Arrays
set_fact:
pbs_client_merged:
archives: "{{ pbs_global_client.archives + pbs_client.archives }}"
exclude: "{{ pbs_global_client.exclude + pbs_client.exclude }}"
- name: Proxmoxバックアップクライアントのセットアップ
include_role:
name: proxmox-backup-client
vars:
proxmox_backup:
server: "{{ pbs_global_server }}"
client: "{{ pbs_global_client | combine(pbs_client, recursive=true) | combine(pbs_client_merged, recursive=true) }}"