proxmox-backup-client est l'outil en ligne de commande qui sauvegarde les fichiers d'une machine Linux vers un Proxmox Backup Server (PBS) : déduplication, compression, chiffrement côté client et restauration fichier par fichier. Proxmox ne le publie que pour Debian. Nous republions son build statique officiel, sans le recompiler, dans un dépôt non officiel installable avec les outils standard de chaque distribution.
Pour Windows, voir notre client Windows pour PBS. Pour garder vos jobs restic ou rsync, voir la sauvegarde de serveurs Linux via la Gateway.
En bref
- Installer le paquet depuis le dépôt de votre distribution.
- Créer un jeton API sur le PBS et le ranger dans un fichier lisible par root seul.
- Créer une clé de chiffrement avant le premier backup, et la sauvegarder ailleurs.
- Lancer
proxmox-backup-client backup root.pxar:/. - Planifier avec un timer systemd, ou cron.
- Tester une restauration. Une sauvegarde jamais restaurée n'est pas une sauvegarde.
1. Installer le client
Les commandes ci-dessous ajoutent le dépôt, sa clé de signature, puis installent le paquet. Toutes les métadonnées sont signées : aucune option du type --nogpgcheck ou --allow-untrusted n'est nécessaire, et il ne faut pas en ajouter. L'empreinte de la clé est affichée sur la page du dépôt : comparez-la à celle que votre gestionnaire de paquets vous présente.
Debian et Ubuntu
Le dépôt sert le .deb officiel de Proxmox tel quel, octet pour octet. Le paquet s'appelle proxmox-backup-client-static ; sa seule dépendance est qrencode.
install -d /etc/apt/keyrings
curl -fsSL -o /etc/apt/keyrings/unofficial-repository-proxmox-backup-client.asc \
https://nimbus.rdem-systems.com/unofficial-repository-proxmox-backup-client/keys/unofficial-repository-proxmox-backup-client.asc
echo "deb [signed-by=/etc/apt/keyrings/unofficial-repository-proxmox-backup-client.asc] https://nimbus.rdem-systems.com/unofficial-repository-proxmox-backup-client/deb stable main" \
> /etc/apt/sources.list.d/unofficial-repository-proxmox-backup-client.list
apt update
apt install proxmox-backup-client-staticSur Debian, le dépôt pbs-client de Proxmox reste une alternative officielle : il fournit le même paquet, signé par Proxmox.
RHEL, Rocky, Alma, Fedora
curl -fsSL -o /etc/yum.repos.d/unofficial-repository-proxmox-backup-client.repo \
https://nimbus.rdem-systems.com/unofficial-repository-proxmox-backup-client/rpm/unofficial-repository-proxmox-backup-client.repo
dnf install proxmox-backup-clientAu premier dnf install, dnf affiche l'empreinte de la clé et demande de l'importer : vérifiez-la avant d'accepter.
Arch Linux
curl -fsSL -o /tmp/upc.asc https://nimbus.rdem-systems.com/unofficial-repository-proxmox-backup-client/keys/unofficial-repository-proxmox-backup-client.asc
gpg --show-keys /tmp/upc.asc # comparez l'empreinte avec celle de la page du dépôt
pacman-key --add /tmp/upc.asc
pacman-key --lsign-key "$(gpg --with-colons --show-keys /tmp/upc.asc | awk -F: '/^fpr:/{print $10; exit}')"
printf '\n[unofficial-repository-proxmox-backup-client]\nServer = https://nimbus.rdem-systems.com/unofficial-repository-proxmox-backup-client/arch/$arch\n' >> /etc/pacman.conf
pacman -Syu proxmox-backup-clientAlpine
wget -O /etc/apk/keys/unofficial-repository-proxmox-backup-client.rsa.pub \
https://nimbus.rdem-systems.com/unofficial-repository-proxmox-backup-client/keys/unofficial-repository-proxmox-backup-client.rsa.pub
echo "https://nimbus.rdem-systems.com/unofficial-repository-proxmox-backup-client/alpine" >> /etc/apk/repositories
apk add proxmox-backup-clientarm64
Mêmes commandes. Les paquets arm64 viennent du build statique aarch64 officiel que Proxmox publie dans le composant test de son dépôt client : il est officiel, mais peut avoir une version de retard sur amd64. La page du dépôt indique la version disponible pour chaque architecture.
La CI tourne sur notre infrastructure Proxmox, et nous avons dû changer un paramètre pour créer ce dépôt. Si vous voulez d'autres distributions, faites-le-nous savoir, en nous disant pourquoi.
Vérifiez l'installation :
proxmox-backup-client versionEt si j'extrais le .deb à la main ?
Le binaire démarre, mais hors Debian et Ubuntu il refuse les certificats valides : certificate validation failed - Certificate fingerprint was not confirmed. Il a été compilé avec le répertoire OpenSSL de Debian, /usr/lib/ssl, et n'y trouve aucune autorité de certification. Nous l'avons constaté sur Alpine 3.24 et Fedora 43.
Nos paquets posent deux liens, /usr/lib/ssl/cert.pem et /usr/lib/ssl/certs, vers les certificats de la distribution. C'est notre seule modification. Si vous tenez à l'extraction manuelle, exportez SSL_CERT_FILE vers le fichier de certificats de votre distribution (/etc/pki/tls/certs/ca-bundle.crt sur RHEL et Fedora, /etc/ssl/certs/ca-certificates.crt sur Alpine et Arch).
2. Relier le client au PBS avec un jeton API
Utilisez un jeton API dédié à la machine plutôt qu'un mot de passe : il se révoque seul, sans toucher aux autres machines. Chez NimbusBackup, la création du jeton est décrite dans la gestion des tokens ; le fichier JSON téléchargé contient tout ce qu'il faut :
{
"baseurl": "https://pbs-01.nimbus.rdem-systems.com:8007",
"authid": "backup_47_uvrno2hngh@pbs!serveur01",
"secret": "0490bc61-368e-4b3f-b80b-430015dea457",
"datastore": "ds_47_uvrno2hngh"
}Le client attend un dépôt de la forme authid@serveur:port:datastore. Rangez-le avec le secret dans un fichier lisible par root seul :
PBS_REPOSITORY=backup_47_uvrno2hngh@pbs!serveur01@pbs-01.nimbus.rdem-systems.com:8007:ds_47_uvrno2hngh
PBS_PASSWORD=0490bc61-368e-4b3f-b80b-430015dea457install -d -m 700 /etc/proxmox-backup-client
install -m 600 /dev/null /etc/proxmox-backup-client/pbs.env # créé vide, lisible par root seul
# … y écrire les deux lignes ci-dessus, avec votre éditeur …
set -a; . /etc/proxmox-backup-client/pbs.env; set +a
proxmox-backup-client snapshot list # vide au début : la connexion fonctionneEmpreinte. Un PBS avec un certificat valide, comme ceux de NimbusBackup, ne demande rien. Un PBS auto-signé demande son empreinte : copiez-la depuis le tableau de bord du PBS (Show Fingerprint) et ajoutez PBS_FINGERPRINT=… au fichier.
3. Créer la clé de chiffrement, avant le premier backup
Le chiffrement côté client chiffre vos données en AES-256 avant qu'elles quittent la machine : le serveur ne stocke que des blocs illisibles sans votre clé. Créez-la tout de suite. Une sauvegarde chiffrée ne se déduplique pas avec une sauvegarde en clair, activer le chiffrement plus tard renvoie donc tout.
# Sans phrase de passe, pour une sauvegarde planifiée (le fichier est la clé : protégez-le)
proxmox-backup-client key create --kdf none /etc/proxmox-backup-client/encryption-key.json
chmod 600 /etc/proxmox-backup-client/encryption-key.json
# Copie papier ou texte (avec QR code), à ranger hors de ce serveur
proxmox-backup-client key paperkey /etc/proxmox-backup-client/encryption-key.json --output-format textkey paperkey dessine le QR code avec la commande qrencode, installée avec le paquet sur Debian, Ubuntu, Arch et Alpine, et en dépendance recommandée sur RHEL et Fedora : si elle manque, installez-la.
Sans cette clé, personne ne peut restaurer : ni vous, ni l'hébergeur du PBS. Gardez-en une copie hors de la machine sauvegardée, et hors du PBS.
4. Premier backup
proxmox-backup-client backup root.pxar:/ \
--keyfile /etc/proxmox-backup-client/encryption-key.json- Un système de fichiers par archive. Par défaut, le client ne franchit pas les points de montage : si
/homeou/varsont sur des partitions séparées, ajoutez une archive par partition (home.pxar:/home) ou l'option--include-dev /home. - Exclusions. Un fichier
.pxarexcludedans un répertoire, ou--excludeen ligne de commande (caches,/tmp, dumps déjà sauvegardés ailleurs). - Serveurs avec beaucoup de fichiers.
--change-detection-mode metadatacompare les métadonnées au snapshot précédent au lieu de relire chaque fichier inchangé. Le revers : un fichier modifié sans que ses métadonnées changent passerait inaperçu. À réserver aux arborescences où c'est acceptable. - L'identifiant de sauvegarde est le nom d'hôte ;
--backup-idle remplace.
5. Planifier avec un timer systemd
[Unit]
Description=Sauvegarde vers Proxmox Backup Server
Wants=network-online.target
After=network-online.target
[Service]
Type=oneshot
EnvironmentFile=/etc/proxmox-backup-client/pbs.env
ExecStart=/usr/bin/proxmox-backup-client backup root.pxar:/ \
--keyfile /etc/proxmox-backup-client/encryption-key.json \
--change-detection-mode metadata
Nice=10
IOSchedulingClass=idle[Unit]
Description=Sauvegarde quotidienne vers Proxmox Backup Server
[Timer]
OnCalendar=*-*-* 02:30:00
RandomizedDelaySec=30min
Persistent=true
[Install]
WantedBy=timers.targetsystemctl daemon-reload
systemctl enable --now pbs-backup.timer
systemctl start pbs-backup.service # un premier passage tout de suite
journalctl -u pbs-backup.service -n 50 # le résultatSans systemd (Alpine) : une ligne dans la crontab de root suffit.
30 2 * * * umask 077; set -a; . /etc/proxmox-backup-client/pbs.env; set +a; flock -n /run/pbs-backup.lock /usr/bin/proxmox-backup-client backup root.pxar:/ --keyfile /etc/proxmox-backup-client/encryption-key.json >> /var/log/pbs-backup.log 2>&1umask 077 pour que le journal ne soit pas lisible par tous, et flock pour qu'une sauvegarde qui déborde n'en déclenche pas une seconde.
Sur l'offre AirGapped Drive PBS, il est fortement conseillé de placer l'horaire en dehors du créneau hebdomadaire de 4 heures réservé à la prise du snapshot qui part sur les disques hors ligne : un backup en cours à ce moment-là serait incomplet sur la copie hors ligne. La rétention, elle, se règle côté serveur : chez NimbusBackup, le jeton ne peut pas supprimer, et c'est nous qui appliquons la rétention.
6. Restaurer un fichier
proxmox-backup-client snapshot listPour retrouver quelques fichiers, le plus confortable est le shell du catalogue :
proxmox-backup-client catalog shell host/serveur01/2026-09-11T02:30:12Z root.pxar \
--keyfile /etc/proxmox-backup-client/encryption-key.json
pxar:/ > find etc/nginx/**/*.conf --select
pxar:/ > restore-selected /tmp/restaurationOu en une commande, avec un motif :
proxmox-backup-client restore host/serveur01/2026-09-11T02:30:12Z root.pxar /tmp/restauration \
--pattern 'etc/nginx/**' \
--keyfile /etc/proxmox-backup-client/encryption-key.jsonmount monte aussi une archive en lecture seule, par FUSE, pour parcourir une sauvegarde comme un répertoire — il faut FUSE disponible sur la machine, et penser à démonter :
proxmox-backup-client mount host/serveur01/2026-09-11T02:30:12Z root.pxar /mnt/sauvegarde \
--keyfile /etc/proxmox-backup-client/encryption-key.json
ls /mnt/sauvegarde
fusermount3 -u /mnt/sauvegarde # ou « umount /mnt/sauvegarde » en rootRestaurez sur un autre serveur de temps en temps : c'est le seul test qui prouve que la clé, le jeton et les données vont ensemble.
Questions fréquentes
Le client installé par ce dépôt est-il le client officiel ?
Oui pour le binaire, non pour le dépôt. Les fichiers proxmox-backup-client et pxar sont ceux du paquet officiel proxmox-backup-client-static de Proxmox, vérifiés contre l'index signé de Proxmox et jamais recompilés. Le dépôt, lui, est tenu par RDEM Systems : il est non officiel et n'est pas affilié à Proxmox Server Solutions GmbH. Sur Debian, vous pouvez aussi passer directement par le dépôt pbs-client de Proxmox.
Pourquoi le client refuse-t-il un certificat valide sur RHEL, Fedora ou Alpine ?
Parce que le binaire statique a été compilé avec le répertoire OpenSSL de Debian, /usr/lib/ssl, qui n'existe pas ailleurs. Sans ce répertoire, le client ne trouve aucune autorité de certification et réclame une empreinte, même face à un certificat parfaitement valide. Nos paquets RPM, Arch et Alpine ajoutent deux liens symboliques vers les certificats de la distribution. Si vous extrayez le .deb à la main, exportez SSL_CERT_FILE vers le fichier de certificats de votre distribution.
Le client 4.x fonctionne-t-il avec un PBS 3.x ?
Proxmox écrit, dans son guide de migration 3 vers 4, tester la compatibilité entre les versions majeures encore suivies, dont la précédente ; au-delà, c'est au mieux un effort raisonnable. Nous recommandons d'aligner la version majeure du client sur celle du serveur, et de vérifier vous-même sauvegarde, listing et restauration avant de passer en production.
Puis-je activer le chiffrement après plusieurs sauvegardes ?
Oui, mais il ne s'applique qu'aux sauvegardes faites avec la clé : les précédentes restent en clair. Et une sauvegarde chiffrée ne se déduplique ni avec les sauvegardes non chiffrées, ni avec celles chiffrées par une autre clé. La première sauvegarde chiffrée renvoie donc toutes les données. C'est pourquoi nous conseillons de créer la clé avant le premier backup.
Comment planifier la sauvegarde sans systemd, sur Alpine par exemple ?
Avec cron. Une ligne dans la crontab de root qui charge le fichier d'environnement puis lance proxmox-backup-client backup suffit. Le reste de ce guide (jeton, clé, restauration) est identique.
Qui gère la rétention et la suppression des anciennes sauvegardes ?
Le serveur. Sur votre propre PBS, ce sont les prune jobs du datastore. Chez NimbusBackup, le jeton fourni ne peut pas supprimer : il crée et restaure ses propres sauvegardes, rien d'autre. C'est nous qui appliquons la rétention convenue, ce qui empêche aussi un attaquant qui aurait volé le jeton d'effacer vos sauvegardes.
Le client est installé. Il lui faut une cible hors site.
NimbusBackup héberge des Proxmox Backup Server managés, facturés au To utile : jeton en écriture seule, supervision, et options de réplication sur deux sites, de disques hors ligne ou de bande LTO. À partir de 12 € HT par To et par mois.
