notmycloud.proxmox_backup_client

Ansible-Proxmox-Backup-Client

Ten składnik zainstaluje i skonfiguruje Proxmox Backup Client na systemie opartym na Debianie. Dokumentację Proxmox Backup Client znajdziesz tutaj: Proxmox Backup Client.

Zmienne

Zmienna Wymagana Domyślna Opis
proxmox_backup Tak Słownik zawierający Twoją konfigurację dla tego składnika
.server Tak Słownik zawierający informacje o połączeniu z serwerem Proxmox Backup.
.server.user Tak Nazwa użytkownika do dostępu do PBS, np. backup@pbs
.server.pass Tak Hasło lub token dla podanego użytkownika.
.server.host Tak Nazwa hosta/FQDN/IP PBS.
.server.datastore Tak Magazyn do przechowywania kopii zapasowych.
.server.port Nie 8007 Niestandardowy port API PBS.
.server.fingerprint Nie Odcisk palca certyfikatu serwera, znaleziony na pulpicie nawigacyjnym.
.client Tak Słownik zawierający konfigurację klienta dla PBC.
.client.archives Tak Tablica elementów do kopii zapasowej.
.client.archives.name Tak Nazwa pliku archiwum do przesłania, nie może zawierać znaku '/'
.client.archives.path Tak Ścieżka do kopii zapasowej.
.client.archives.format Tak Typy plików to zwykle .pxar dla archiwów plików i .img dla obrazów urządzeń blokowych.
.client.encrypt Nie Słownik zawierający ustawienia szyfrowania po stronie klienta.
.client.encrypt.enable Tak Nie Włącz lub wyłącz szyfrowanie po stronie klienta.
.client.encrypt.pass Nie Hasło do klucza szyfrowania, jeśli jest chronione hasłem.
.client.encrypt.key Tak ~/.config/proxmox-backup/encryption-key.json Ścieżka do przechowywania klucza szyfrowania.
.client.encrypt.master Nie Ścieżka do lokalnego master-public.pem do skopiowania do klienta
.client.output Nie Słownik zawierający opcje formatowania logów stdoutput.
.client.output.format Nie text Możliwe wartości to text, json, json-pretty.
.client.output.border Nie Jeśli ustawione, nie będą renderowane granice tabeli.
.client.output.header Nie Jeśli ustawione, nagłówki tabeli nie będą renderowane.
.client.include_devices Nie Tablica punktów montowania do uwzględnienia, domyślnie pomijane.
.client.skip_lost_found Nie Nie pomiń katalogi lost+found.
.client.schedule.calendar Nie '*-*-* 4:00:00' Ciąg OnCalendar systemd Timer, domyślnie codziennie o 4 rano.
.client.schedule.runifmissed Nie Nie Uruchom usługę, jeśli ostatni czas uruchomienia został pominięty.
.client.exclude Nie Tablica zawierająca ustawienia dla plików .pxarexclude.
.client.exclude[#].path Tak Ścieżka pliku .pxarexclude (folder macierzysty).
.client.exclude[#].enabled Tak Stwórz plik wykluczenia, usuń, jeśli nie.
.client.exclude[#].rules Tak Tablica reguł wykluczenia, może zawierać wyraźne uwzględnienie.

Domyślna konfiguracja

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' # Codziennie o 4 rano
      runifmissed: no

Przykłady

Zmienne grupy na wszystkich poziomach (format 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

Zmienne na poziomie hosta (format 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*

Łączenie domyślnych ustawień grupy z nadpisaniami hosta

pbs_global_client jest zmienną dla całej grupy. pbs_client jest zmienną dla hosta. combine(pbs_client, recursive=true) połączy słowniki. Słownik wewnątrz combine będzie miał priorytet nad słownikiem przekazywanym. Można to łączyć.

    # Połącz tablice, aby jedna nie nadpisywała drugiej.
  - 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: Setup Proxmox Backup Client
    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) }}"
O projekcie

Ansible role to install and configure the Proxmox Backup Client.

Zainstaluj
ansible-galaxy install notmycloud.proxmox_backup_client
Licencja
mit
Pobrania
320
Właściciel