notmycloud.proxmox_backup_client

Ansible-Proxmox-Backup-Client

Ce rôle va installer et configurer le client de sauvegarde Proxmox sur un système basé sur Debian. Vous pouvez trouver la documentation du client de sauvegarde Proxmox ici : Client de sauvegarde Proxmox.

Variables

Variable Requis Par défaut Description
proxmox_backup Oui Dictionnaire contenant votre configuration pour ce rôle
.server Oui Dictionnaire contenant les informations de connexion pour votre serveur de sauvegarde Proxmox.
.server.user Oui Nom d'utilisateur pour accéder au PBS, ex. backup@pbs
.server.pass Oui Mot de passe ou jeton pour le nom d'utilisateur fourni.
.server.host Oui Nom d'hôte/FQDN/IP du PBS.
.server.datastore Oui Magasin de données pour stocker les sauvegardes.
.server.port Non 8007 Port personnalisé de l'API PBS.
.server.fingerprint Non Empreinte du certificat du serveur, trouvée sur le tableau de bord.
.client Oui Dictionnaire contenant la configuration du client pour le PBC.
.client.archives Oui Tableau d'éléments à sauvegarder.
.client.archives.name Oui Nom du fichier d'archive à télécharger, ne peut pas contenir le caractère '/'
.client.archives.path Oui Chemin vers la sauvegarde.
.client.archives.format Oui Types courants: .pxar pour les archives de fichiers et .img pour les images de périphériques blocs.
.client.encrypt Non Dictionnaire contenant les paramètres de chiffrement côté client.
.client.encrypt.enable Oui Non Activer ou désactiver le chiffrement côté client.
.client.encrypt.pass Non Mot de passe pour la clé de chiffrement, si protégée par mot de passe.
.client.encrypt.key Oui ~/.config/proxmox-backup/encryption-key.json Chemin pour stocker la clé de chiffrement.
.client.encrypt.master Non Chemin vers local master-public.pem à copier sur le client
.client.output Non Dictionnaire contenant les options de formatage des logs stdout.
.client.output.format Non texte Valeurs possibles : texte, json, json-pretty.
.client.output.border Non Si défini, n'affichera pas les bordures des tables.
.client.output.header Non Si défini, n'affichera pas les en-têtes des tables.
.client.include_devices Non Tableau de points de montage à inclure, les PM sont ignorés par défaut.
.client.skip_lost_found Non Non Ignorer les répertoires lost+found.
.client.schedule.calendar Non '*-*-* 4:00:00' Chaîne OnCalendar pour le timer Systemd, par défaut 4h du matin chaque jour.
.client.schedule.runifmissed Non Non Déclencher le service si le dernier temps de démarrage a été manqué.
.client.exclude Non Tableau contenant les paramètres pour les fichiers .pxarexclude.
.client.exclude[#].path Oui Chemin du fichier .pxarexclude (dossier parent).
.client.exclude[#].enabled Oui Créer le fichier d'exclusion, supprimer sinon.
.client.exclude[#].rules Oui Tableau de règles d'exclusion, peut inclure une inclusion explicite.

Par défaut

default_config:
  client:
    encrypt:
      enable: false
      key: ~/.config/proxmox-backup/encryption-key.json
    output:
      format: texte
    skip_lost_found: non
    schedule:
      calendar: '*-*-* 4:00:00' # Quotidiennement à 4h du matin
      runifmissed: non

Exemples

Variables de groupe tous niveaux (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: oui
    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

Variables de niveau hôte (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*

Combinaison de valeurs par défaut de groupe avec remplacements de l'hôte

pbs_global_client est une variable de groupe TOUT. pbs_client est une variable d'hôte. combine(pbs_client, recursive=true) va fusionner les dictionnaires. Le dictionnaire à l'intérieur du combine aura la priorité sur le dictionnaire passé. Cela peut être enchaîné.

    # Fusionner les tableaux afin qu'un ne remplace pas l'autre.
  - name: Fusionner les tableaux du client PBS
    set_fact:
      pbs_client_merged:
          archives: "{{ pbs_global_client.archives + pbs_client.archives }}"
          exclude: "{{ pbs_global_client.exclude + pbs_client.exclude }}"
  
  - name: Configurer le client de sauvegarde 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) }}"
À propos du projet

Ansible role to install and configure the Proxmox Backup Client.

Installer
ansible-galaxy install notmycloud.proxmox_backup_client
Licence
mit
Téléchargements
320
Propriétaire