Pour la prise d’instantanés des invités sur Proxmox VE, plusieurs méthodes existent :
Note importante (mars 2026) : Ce guide présente la configuration de base avec des scripts individuels. Pour une gestion optimisée sur cluster multi-nœuds, consultez la nouvelle version : Automatisation avancée des snapshots Proxmox (multi-nœuds).
J’utilise CV4PVE-ADMIN, qui est un gestionnaire multiclusters. Mais je n’utilise que la fonction de prise automatique d’instantanés. C’est sortir la grosse artillerie pour pas grand-chose.
Je vais donc vous montrer comment utiliser CV4PVE-AUTOSNAP. Non pas sur l’hôte Proxmox lui-même, mais en l’isolant sur un conteneur (LXC).
Personnellement, j’ai déployé un conteneur Debian 12 Bookworm.
Toutes les commandes suivantes doivent être exécutées à l’intérieur de votre conteneur LXC (Debian/Ubuntu) dédié.
Récupérez la dernière version de CV4PVE-AUTOSNAP disponible à cette adresse. (Version 1.15.0 au moment où j’écris ces lignes) :
wget https://github.com/Corsinvest/cv4pve-autosnap/releases/download/v1.15.0/cv4pve-autosnap-linux-x64.zip
Installez l’utilitaire unzip, décompressez l’archive, et rendez le binaire exécutable.
apt install unzip
unzip cv4pve-autosnap-linux-x64.zip
chmod +x cv4pve-autosnap
Déplacez le fichier binaire dans le répertoire /bin/ pour pouvoir l’exécuter de n’importe où dans le système :
mv cv4pve-autosnap /bin/
mkdir /root/autosnap-logs
Pour obtenir de l’aide sur les options disponibles :
cv4pve-autosnap --help
Nous allons maintenant créer un premier script pour la prise d’instantanés à des heures précises (9h et 21h dans cet exemple).
La commande principale de cv4pve-autosnap utilise la structure suivante :
cv4pve-autosnap --host=XXX.XXX.X.XXX --username=root@pam --password=XXXXXXXX --vmid=XXX snap --label=XXXXX --keep=X
À partir d’ici, toutes les commandes sont à adapter !
autosnap-921.shnano /root/autosnap-921.sh
Collez le contenu suivant :
#!/bin/bash
PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
MAILTO=""
############# SNAPSHOT SCRIPT ITSELF ######################
echo " " >> /root/autosnap-logs/921-$(date "+%Y-%m-%d").log
echo "###NEW JOB STARTS HERE###" >> /root/autosnap-logs/921-$(date "+%Y-%m-%d").log
cv4pve-autosnap --host=XXX.XXX.X.XXX --username=root@pam --password=XXXXXXXX --vmid=all snap --label=-921- --keep=2 >> /root/autosnap-logs/921-$(date "+%Y-%m-%d").log
echo "###NEW JOB ENDS HERE###" >> /root/autosnap-logs/921-$(date "+%Y-%m-%d").log
| Argument | Description | Valeurs possibles |
|---|---|---|
--host= |
Adresse IP du nœud Proxmox. | XXX.XXX.X.XXX |
--username= |
Identifiant de connexion à Proxmox. | root@pam |
--password= |
Mot de passe du compte spécifié. | XXXXXXXX |
--vmid= |
ID de l’invité (ou all). |
all |
--label= |
Nom de l’instantané (ex: -921-). |
-921- |
--keep= |
Nombre d’instantanés à conserver. | 2 |
Note : Pour un cluster, vous pouvez spécifier plusieurs IP :
--host='IP1,IP2,IP3'.
chmod +x /root/autosnap-921.sh
crontab -e
Exécution tous les jours à 9 h 00 et 21 h 00 :
0 9,21 * * * /root/autosnap-921.sh
cv4pve-autosnap --host=XXX.XXX.X.XXX --username=root@pam --password=XXXXXXXX --vmid=all clean --label='-921-' --keep=0
cv4pve-autosnap --host=XXX.XXX.X.XXX --username=root@pam --password=XXXXXXXX --vmid=all status
Vous pouvez répliquer le modèle de rétention (horaire, quotidien, hebdomadaire, mensuel, annuel) proposé par Proxmox VE.
| Nom du Script | Fréquence | Label Ex. | Rétention |
|---|---|---|---|
| autosnap-hourly.sh | Chaque heure | -hourly- | –keep=3 |
| autosnap-daily.sh | Chaque jour | -daily- | –keep=7 |
| autosnap-weekly.sh | Chaque semaine | -weekly- | –keep=4 |
| autosnap-monthly.sh | Chaque mois | -monthly- | –keep=2 |
| autosnap-yearly.sh | Chaque année | -yearly- | –keep=1 |
# Tâches planifiées
0 * * * * /root/autosnap-hourly.sh
10 0 * * * /root/autosnap-daily.sh
20 0 * * 0 /root/autosnap-weekly.sh
30 0 1 * * /root/autosnap-monthly.sh
40 0 1 1 * /root/autosnap-yearly.sh
###NEW JOB STARTS HERE###
ACTION Snap
PVE Version: 8.3.2
VMs: all
Label: -921-
Keep: 2
Total execution 00:01:18.3608764
###NEW JOB ENDS HERE###
Auteur : ce guide est proposé par Amaury aka BlablaLinux. Retrouvez l’ensemble de mes services sur blablalinux.be/mes-services-publics/.