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
GitHub Repository
Lizenz
mit
Downloads
320
Besitzer