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