La sauvegarde automatique de Mon serveur : vérifier qu'elle marche et la régler
Le script sauvegarde-serveur copie vos applications chaque nuit. Où sont les archives, comment vérifier, la lancer à la main, garder plus de jours et copier ailleurs.
Si vous avez gardé l’option Sauvegarde chaque nuit dans Mon serveur, votre serveur se sauvegarde tout seul à 3 h du matin. Une sauvegarde qu’on n’a jamais vérifiée n’est pas une sauvegarde : voici comment elle fonctionne et comment s’assurer qu’elle marche.
Comment elle fonctionne
Le script /usr/local/bin/sauvegarde-serveur parcourt chaque dossier de /opt/stacks et, pour chaque application :
- l’arrête quelques secondes (
docker compose stop), pour que ses bases de données soient copiées dans un état cohérent, pas en pleine écriture ; - crée une archive
/opt/backups/<application>_<date>.tgzde tout son dossier : configuration,.envet données ; - la redémarre.
Le reverse proxy est archivé à la fin, sans être arrêté : vos sites restent en ligne. Enfin, les archives plus anciennes que le nombre de jours choisi sont supprimées.
Vérifier qu’elle a tourné cette nuit
ls -lh /opt/backups | tail # les archives, avec leur taille et leur date
systemctl list-timers sauvegarde-serveur.timer # dernière et prochaine exécution
journalctl -u sauvegarde-serveur --since yesterday # ce qui s'est passé
Vous devez voir une archive par application datée d’aujourd’hui. Une archive de quelques Ko pour une application qui contient des données est suspecte : ouvrez-la (voir plus bas).
La lancer à la main
Avant une opération risquée (mise à jour, migration), lancez une sauvegarde tout de suite :
sudo systemctl start sauvegarde-serveur.service
La commande rend la main quand c’est fini. Vos applications sont coupées quelques secondes chacune pendant ce temps.
Regarder dans une archive
Sans rien extraire, listez son contenu :
sudo tar tzf /opt/backups/vaultwarden_2026-10-10.tgz | head -20
Pour une vraie vérification, faites une restauration de test : c’est la seule façon d’être sûr.
Garder plus (ou moins) de jours
Le nombre de jours est écrit au début du script :
sudo nano /usr/local/bin/sauvegarde-serveur
Changez la ligne JOURS=7 (par exemple JOURS=30), enregistrez. Pensez à la place disque : chaque nuit, une copie
complète de chaque application est créée. Avec Immich, dont les photos sont dans /opt/stacks/immich/library, ça
peut vite représenter beaucoup.
du -sh /opt/backups # place occupée par les sauvegardes
df -h / # place libre sur le disque
Changer l’heure
La sauvegarde est planifiée par un « timer » systemd. Pour la passer à 2 h, voyez le guide changer l’heure des tâches automatiques.
Ce qui n’est PAS sauvegardé
- Les dossiers de médias en dehors de
/opt/stacks:/srv/medias(Jellyfin),/srv/musique(Navidrome),/srv/livres… Ce sont souvent de gros fichiers que vous avez déjà ailleurs. - Le système lui-même : il se réinstalle en quelques minutes avec le script.
Le plus important : copier ailleurs
Ces archives sont sur le même disque que vos données. Si le serveur disparaît (panne, piratage, erreur de l’hébergeur), elles disparaissent avec lui. Copiez-les automatiquement sur une autre machine ou un stockage externe avec restic : sauvegarder son serveur avec restic.
Le plus simple pour commencer : rapatrier les archives sur votre ordinateur de temps en temps.
# depuis votre ordinateur (Linux, Mac ou WSL)
rsync -av --rsync-path="sudo rsync" utilisateur@IP_DU_SERVEUR:/opt/backups/ ~/sauvegardes-serveur/
Être prévenu si elle échoue
Une sauvegarde qui échoue en silence pendant des semaines est le pire scénario. Deux solutions :
- surveillez l’âge de la dernière archive avec un watchdog ;
- ajoutez une notification à la fin du script avec ntfy ou Discord.
Une commande qui ne marche pas, une explication pas claire ? Signaler une erreur dans cette page.