Comment sauvegarder votre Raspberry Pi

Sauvegarder votre Raspberry Pi ne doit pas être compliqué. Bien qu’il existe de nombreuses solutions de sauvegarde sophistiquées, parfois la méthode la plus simple est la plus efficace. Dans cet article, je vais vous montrer comment utiliser rsync - un petit mais puissant outil en ligne de commande qui est parfait pour créer des sauvegardes locales fiables de votre configuration Raspberry Pi.
Pourquoi Rsync est le meilleur outil pour sauvegarder votre Pi
Rsync (synchronisation à distance) est un puissant outil de synchronisation et de transfert de fichiers qui est pré-installé sur votre Raspberry Pi.
À la base, rsync copie efficacement des fichiers d’un emplacement à un autre, mais il est beaucoup plus intelligent qu’une simple opération de copie. Il ne transfère que les parties des fichiers qui ont été modifiées, économisant ainsi du temps et des ressources système. Cela est particulièrement utile lors de la sauvegarde de fichiers volumineux qui changent fréquemment.

J’utilise principalement rsync pour sauvegarder mes données utilisateur importantes sur le Pi. Par exemple, je maintiens un serveur de galerie photo sur mon Raspberry Pi, et rsync est parfait pour garder une copie de sauvegarde de toutes ces précieuses images sur un disque externe, avec des fichiers nouveaux ou modifiés détectés et copiés automatiquement.
Contrairement aux outils de sauvegarde qui copient des fichiers entiers, rsync ne transfère que les portions modifiées, rendant les sauvegardes significativement plus rapides et réduisant l’usure de votre carte SD. Son interface en ligne de commande le rend parfait pour l’automatisation avec des tâches cron, tandis que le contrôle de somme intégré garantit l’intégrité de la sauvegarde. Mieux encore, la nature légère de rsync signifie qu’il ne ralentira pas votre Pi à moins qu’un processus de sauvegarde ne soit en cours d’exécution, ni ne prendra trop de place de stockage sur la carte SD.
Pour ces raisons, rsync est la meilleure solution pour mes besoins, et je crois que c’est un choix idéal pour de nombreux autres utilisateurs de Raspberry Pi qui souhaitent un système de sauvegarde fiable et efficace.
Utiliser Rsync pour sauvegarder les fichiers et dossiers de Raspberry Pi
La façon la plus simple de sauvegarder un répertoire est avec la commande :
rsync -av /source/directory /backup/locationPar exemple, pour sauvegarder mon répertoire personnel sur un disque externe monté à « /media/backup », j’utilise la commande :
rsync -av --delete /home/david/immich-app /media/backuppour sauvegarder ma base de données de bibliothèque de photos.

Voici à quoi servent les différentes options :
-aactive le mode archive, qui préserve les permissions de fichiers, la propriété et les horodatages-vfournit une sortie verbeuse afin que je puisse voir ce qui est copié.--deletesupprime les fichiers de l’emplacement de sauvegarde qui n’existent plus dans la source.
Remarque: Vous devez également savoir que rsync est particulier concernant les barres obliques finales dans les chemins. Une barre oblique finale sur la source signifie « copier le contenu de ce répertoire » plutôt que le répertoire lui-même. Par exemple, rsync -av --delete /home/pi/folder /media/backup copie le contenu de ‘folder’ directement dans ‘backup’, tandis que l’omission de la barre oblique copie le répertoire ‘folder’ lui-même dans ‘backup’.
Vérifiez votre sauvegarde Raspberry Pi
Avant de vous fier à votre sauvegarde, vous devez vérifier qu’elle a fonctionné correctement. La façon la plus simple de vérifier est d’utiliser l’option de simulation avec rsync, qui peut être spécifiée comme -n ou --dry-run. Exécuter la commande :
rsync -avn --delete /home/pi/folder /media/backupne devrait montrer aucun fichier nécessitant d’être transféré si votre sauvegarde est à jour.

Pour une vérification plus approfondie, vous pouvez ajouter l’option -c ou --checksum à votre commande rsync. Bien que plus lente que la comparaison par horodatage et taille par défaut, cela garantit que chaque fichier est complètement identique entre la source et la sauvegarde en calculant des sommes de contrôle. Il suffit d’exécuter :
rsync -avc --delete /home/pi/folder /media/backupLa manière la plus détaillée de vérifier votre sauvegarde est d’utiliser la commande diff, qui compare chaque fichier et répertoire entre vos emplacements source et de sauvegarde. Pour effectuer cette vérification, utilisez :
diff -r /home/pi/folder /media/backup/folderL’option -r indique à diff de vérifier tous les sous-répertoires de manière récursive. Si la commande ne produit aucune sortie, cela signifie que votre sauvegarde est identique à la source. S’il y a des différences, diff vous montrera exactement quels fichiers sont différents ou manquants.
Créer des sauvegardes complètes de Raspberry Pi en utilisant Rsync
Dans certaines situations, il peut être plus pratique et plus sûr de sauvegarder l’ensemble de votre carte SD Raspberry Pi plutôt que simplement quelques dossiers importants.
Pour créer des sauvegardes complètes de Raspberry Pi en utilisant rsync, vous aurez besoin d’une destination de sauvegarde – soit une autre carte SD ou un disque externe avec suffisamment d’espace pour contenir l’ensemble de votre système. Le disque de sauvegarde doit être formaté avec un système de fichiers compatible Linux comme ext4 pour préserver correctement toutes les permissions et attributs de fichiers.
La partie la plus délicate de la sauvegarde d’un système complet Raspberry Pi consiste à gérer correctement les répertoires et fichiers système spéciaux. D’après mon expérience, la solution la plus simple consiste à exclure les répertoires système qui n’ont pas besoin d’être sauvegardés ou qui pourraient causer des problèmes lors de la restauration. Créez un fichier appelé “backup-exclude.txt” et ajoutez les répertoires système suivants qui devraient être exclus de la sauvegarde :
- /proc/* # Informations sur les processus en cours
- /sys/* # Informations sur le noyau et le système
- /dev/* # Fichiers de périphériques
- /tmp/* # Fichiers temporaires
- /run/* # Données d’exécution
- /mnt/* # Points de montage
- /media/* # Médiathèques amovibles
- /home/pi/.cache/* # Fichiers de cache utilisateur
- /lost+found # Répertoire de récupération de système de fichiers
Avec ces exclusions en place, vous pouvez fermer autant d’applications en cours que vous le pouvez, puis exécuter la commande de sauvegarde suivante :
sudo rsync -avxhP --delete --exclude-from=/home/pi/backup-exclude.txt / /media/backup/rootfs/L’option -x empêche rsync de traverser les limites de système de fichiers, ce qui pourrait causer des problèmes avec les répertoires système. L’option -h permet à rsync d’afficher les tailles de fichiers et les vitesses de transfert dans un format lisible par l’homme.
Automatiser les sauvegardes rsync
Bien que les sauvegardes complètes créées manuellement soient utiles, je préfère les automatiser en utilisant le planificateur cron intégré de Linux. Pour cela, créez un fichier appelé “backup-pi.sh” dans votre répertoire personnel avec ce contenu :
#!/bin/bash
BACKUP_DRIVE="/media/backup"
LOG_FILE="/home/pi/backup-log.txt"
# Vérifiez si le lecteur de sauvegarde est monté
if ! mountpoint -q $BACKUP_DRIVE; then
echo "Lecteur de sauvegarde non monté à $BACKUP_DRIVE" >> $LOG_FILE
exit 1
fi
# Créer un horodatage pour l'enregistrement
date >> $LOG_FILE
# Exécuter la sauvegarde avec vérification des erreurs
sudo rsync -avxhP --delete \
--exclude-from=/home/pi/backup-exclude.txt \
/ $BACKUP_DRIVE/rootfs/ \
>> $LOG_FILE 2>&1
# Enregistrer la fin de la sauvegarde
echo "Sauvegarde terminée à $(date)" >> $LOG_FILE
echo "-------------------" >> $LOG_FILERendez le script exécutable avec chmod +x backup-pi.sh, puis planifiez-le en utilisant cron. Tapez crontab -e et ajoutez cette ligne pour exécuter la sauvegarde quotidiennement à minuit :
00 00 * * * /home/pi/backup-pi.sh
Restaurer vos sauvegardes Rsync Raspberry Pi
Pour restaurer des fichiers ou des répertoires individuels, le processus est simple. Il suffit d’inverser la source et la destination dans votre commande rsync. Par exemple, pour restaurer votre bibliothèque photo à partir de la sauvegarde :
rsync -av /media/backup/home/david/immich-app/ /home/david/immich-app/Pour une restauration complète du système, vous aurez d’abord besoin d’une installation fraîche de Raspberry Pi OS sur votre carte SD. Commencez par installer une copie fraîche de Raspberry Pi OS sur votre nouvelle carte SD. Une fois cela fait, démarrez votre Pi avec la nouvelle carte SD et complétez le processus de configuration initiale. Ensuite, connectez votre disque de sauvegarde à votre Pi. Lorsque tout est connecté et monté correctement, vous pouvez restaurer votre sauvegarde en utilisant la commande rsync :
sudo rsync -avxhP /media/backup/rootfs/ /Une fois la restauration terminée, je recommande de redémarrer votre Pi pour vérifier si tous les fichiers restaurés sont correctement chargés. Vous devez également vérifier que vos services et configurations importants fonctionnent comme prévu.
Si certaines applications ne fonctionnent pas après la restauration, vérifiez leurs fichiers journaux (généralement dans /var/log/) pour d’éventuelles erreurs liées aux permissions. Vous devrez peut-être exécuter :
sudo chown -R $USER:$USER /home/$USERpour corriger la propriété de vos fichiers dans votre répertoire personnel. Comme vous pouvez le voir, restaurer avec rsync est aussi facile que de créer des sauvegardes - il suffit d’inverser les chemins source et destination dans vos commandes.
Bien que je préfère la simplicité en ligne de commande de rsync, il existe plusieurs excellentes alternatives GUI si vous n’êtes pas à l’aise avec le terminal. Par exemple, Syncthing vous permet de synchroniser plusieurs dossiers entre différents systèmes, tandis que Timeshift offre une fonctionnalité de snapshot du système avec une interface propre. Quel que soit l’outil que vous choisissez, l’important est de maintenir des sauvegardes régulières de votre Raspberry Pi pour protéger vos précieuses données et configurations système.
Toutes les images par David Morelo.