notmycloud.proxmox_backup_client
Ansible-Proxmox-Backup-Client
Diese Rolle installiert und konfiguriert den Proxmox Backup Client auf einem Debian-basierten Betriebssystem. Die Dokumentation des Proxmox Backup Clients finden Sie hier: Proxmox Backup Client.
Variablen
Variable | Erforderlich | Standard | Beschreibung |
---|---|---|---|
proxmox_backup | Ja | Dictionary mit Ihrer Konfiguration für diese Rolle | |
.server | Ja | Dictionary mit den Verbindungsdaten für Ihren Proxmox Backup Server. | |
.server.user | Ja | Benutzername für den Zugriff auf die PBS, z.B. backup@pbs | |
.server.pass | Ja | Passwort oder Token für den angegebenen Benutzer. | |
.server.host | Ja | Hostname/FQDN/IP des PBS. | |
.server.datastore | Ja | Datenspeicher für die Backups. | |
.server.port | Nein | 8007 | Benutzerdefinierter Port der PBS API. |
.server.fingerprint | Nein | Fingerabdruck des Serverzertifikats, zu finden im Dashboard. | |
.client | Ja | Dictionary mit der Client-Konfiguration für den PBC. | |
.client.archives | Ja | Array von Elementen, die gesichert werden sollen. | |
.client.archives.name | Ja | Name der hochzuladenden Archivdatei, darf kein '/' Zeichen enthalten. | |
.client.archives.path | Ja | Verzeichnis zum Sichern. | |
.client.archives.format | Ja | Häufige Typen sind .pxar für Dateiarchive und .img für Blockgeräte-Abbilder. | |
.client.encrypt | Nein | Dictionary mit den Einstellungen zur clientseitigen Verschlüsselung. | |
.client.encrypt.enable | Ja | Nein | Aktivieren oder Deaktivieren der clientseitigen Verschlüsselung. |
.client.encrypt.pass | Nein | Passwort für den Verschlüsselungsschlüssel, falls passwortgeschützt. | |
.client.encrypt.key | Ja | ~/.config/proxmox-backup/encryption-key.json | Pfad zum Speichern des Verschlüsselungsschlüssels. |
.client.encrypt.master | Nein | Pfad zur lokalen master-public.pem, die an den Client kopiert werden soll. | |
.client.output | Nein | Dictionary mit Optionen zur Formatierung der stdout-Protokolle. | |
.client.output.format | Nein | text | Mögliche Werte sind text, json, json-pretty. |
.client.output.border | Nein | Wenn gesetzt, werden keine Tabellenränder angezeigt. | |
.client.output.header | Nein | Wenn gesetzt, werden keine Tabellenüberschriften angezeigt. | |
.client.include_devices | Nein | Array von Einhängepunkten, die einbezogen werden sollen, Einhängepunkte werden standardmäßig übersprungen. | |
.client.skip_lost_found | Nein | Nein | Verzeichnisse für verlorene+auffindbare Elemente überspringen. |
.client.schedule.calendar | Nein | '--* 4:00:00' | Systemd Timer OnCalendar Zeichenkette, Standard täglich um 4 Uhr. |
.client.schedule.runifmissed | Nein | Nein | Dienst auslösen, wenn die letzte Startzeit versäumt wurde. |
.client.exclude | Nein | Array mit Einstellungen für .pxarexclude-Dateien. | |
.client.exclude[#].path | Ja | Dateipfad von .pxarexclude (Elternordner). | |
.client.exclude[#].enabled | Ja | Exklusionsdatei erstellen, löschen, wenn nicht. | |
.client.exclude[#].rules | Ja | Array von Exklusionsregeln, kann eine explizite Einschließung enthalten. |
Standard
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' # Täglich um 4 Uhr
runifmissed: no
Beispiele
Global Variablen für Gruppen (YAML-Format).
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
Host-spezifische Variablen (YAML-Format).
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*
Vereinigung von Gruppenstandards mit Host-Überschreibungen
pbs_global_client ist eine ALL-gruppe. pbs_client ist eine host_variable. combine(pbs_client, recursive=true) wird Dictionaries zusammenführen. Das Dictionary innerhalb des combine wird Vorrang vor dem geleiteten Dictionary haben. Kann verkettet werden.
# Die Arrays zusammenführen, damit eines das andere nicht überschreibt.
- 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 Backup Client einrichten
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) }}"
Über das Projekt
Ansible role to install and configure the Proxmox Backup Client.
Installieren
ansible-galaxy install notmycloud.proxmox_backup_client
Lizenz
mit
Downloads
320
Besitzer