Comment utiliser rsnapshot pour les sauvegardes Raspberry Pi

Si vous cliquez sur nos liens et effectuez un achat, nous pouvons recevoir une commission d'affiliation. En savoir plus

Je ne compte plus le nombre de fois où j’ai dû reconfigurer mon Raspberry Pi de zéro. Les cartes SD peuvent tomber en panne, les mises à jour peuvent causer des problèmes, et on fait tous des erreurs de temps en temps. Bref, après avoir essayé plusieurs outils de sauvegarde au fil des ans, rsnapshot s’est avéré être l’un des plus fiables, et le configurer sur un Raspberry Pi est plus facile que vous ne le pensez. Laissez-moi vous montrer comment il fonctionne.

Rsnapshot est un utilitaire de sauvegarde basé sur rsync qui crée des instantanés incrémentiels et efficaces de votre système. Il est léger, facile à configurer, et peut être installé avec une simple commande apt-get.

Dans ce tutoriel, je vais vous guider à travers l’installation de rsnapshot, sa configuration pour des sauvegardes quotidiennes, sa mise en place avec cron, et même la sauvegarde via SSH. Je vais également vous montrer comment tester et restaurer vos sauvegardes, pour que vous ne soyez plus jamais pris au dépourvu !

Si vous débutez avec Raspberry Pi ou Linux, j’ai quelque chose qui peut vous aider !
Téléchargez ma fiche mémo des commandes Linux gratuitement – c’est un guide de référence rapide avec toutes les commandes essentielles dont vous aurez besoin utiliser votre Raspberry Pi. Cliquez ici pour l’obtenir gratuitement !

Installer RSnapshot sur Raspberry Pi

rsnapshot est un wrapper autour de l’utilitaire bien connu rsync et est une application conçue pour automatiser les sauvegardes système. Il vous évite de créer des scripts. Au lieu de cela, vous pouvez facilement ajuster les valeurs de configuration dans un fichier pour personnaliser les paramètres de sauvegarde.

Bien que rsync soit préinstallé avec Raspberry Pi OS, rsnapshot doit être installé séparément. Cependant, l’installation est assez simple :

  • Assurez-vous que votre système est à jour en utilisant cette commande :
    sudo apt update && sudo apt full-upgrade -y
  • Vous pouvez maintenant installer rsnapshot en utilisant le gestionnaire de paquets :
    sudo apt install rsnapshot
  • Vous pouvez vérifier que rsnapshot est installé en utilisant cette commande :
    rsnapshot --version

Et c’est tout. rsnapshot a bien été installé sur votre Raspberry Pi, et nous pouvons commencer.

Configurer RSnapshot pour les sauvegardes

Une fois installé, rsnapshot ne fait rien par lui-même. Nous devons d’abord configurer l’instantané (snapshot) selon nos préférences et le programmer avec cron pour l’utiliser.

Configuration

Rsnapshot est configuré en utilisant un fichier de configuration dans /etc/rsnapshot.conf.
Vous pouvez l’éditer en utilisant n’importe quel éditeur de texte, par exemple, nano ou vim (en anglais).

Où placer les fichiers de sauvegarde

La première chose que nous devons configurer est l’endroit où les instantanés (fichiers de sauvegarde) doivent être placés. Vous pouvez le faire en modifiant les lignes suivantes dans votre fichier de configuration :

Vous pouvez changer le snapshot_root vers n’importe quel dossier sur votre ordinateur local. Cependant, seuls les répertoires montés sur votre ordinateur local (Raspberry Pi) peuvent être utilisés comme répertoires racines (Nous verrons comment utiliser des répertoires distants via SSH plus tard.)

Nombre de sauvegardes à conserver

La prochaine étape est de configurer les niveaux de sauvegarde et le nombre d’instantanés à conserver pour chaque sauvegarde. Cela peut être fait en éditant la section suivante du fichier de configuration :

Les niveaux de sauvegarde représentent différentes catégories de sauvegardes de données. Chaque niveau de sauvegarde est exécuté avec une commande distincte, ce qui permet de planifier différents cron jobs. Ainsi, nous pouvons attribuer des noms plus adaptés à ces niveaux, comme démontré ci-dessous :

Télécharger mon antisèche !
Format PDF pratique, avec les 74 commandes à retenir pour maîtriser son Raspberry Pi.
Télécharger maintenant

Ici, nous avons renommé les niveaux de sauvegarde en quotidien, hebdomadaire et mensuel. Cela nous aidera à comprendre le but de chaque niveau de sauvegarde.

Les chiffres à côté de chaque niveau de sauvegarde indiquent combien d’instantanés de cette sauvegarde seront conservés avant que la première sauvegarde ne soit écrasée.

Rsnapshot crée des sauvegardes incrémentielles en utilisant des liens physiques. Cela signifie que les fichiers inchangés dans les sauvegardes ultérieures ne sont pas entièrement copiés ; à la place, seuls des liens vers ces fichiers sont ajoutés à la sauvegarde.

Donc, maintenir plusieurs instantanés à un niveau de sauvegarde ne devrait pas poser de problème significatif. Cependant, conserver un nombre raisonnable de sauvegardes est toujours une bonne chose, car cela garde votre répertoire racine relativement propre et facile à comprendre.

Dans notre exemple, nous l’avons configuré pour conserver sept instantanés de sauvegardes quotidiennes, quatre instantanés de sauvegardes hebdomadaires et six instantanés de sauvegardes mensuelles.

Que sauvegarder ?

La dernière chose à configurer est d’indiquer à rsnapshot quels fichiers ou dossiers il doit sauvegarder. Nous pouvons le configurer en modifiant la section suivante de la configuration :

Nous pouvons lister tous les dossiers dont nous avons besoin pour faire les instantanés. Vous pouvez éditer ce fichier pour lister tous les dossiers qui contiennent des parties configurables de votre Raspberry Pi. Par exemple, j’ai configuré ma configuration comme indiqué ci-dessous :

Cette configuration devrait être suffisante pour la plupart des utilisateurs. Cependant, vous pouvez ajouter ou supprimer des dossiers en fonction de vos préférences personnelles.

Une fois la configuration terminée, vous pouvez enregistrer et fermer le fichier de configuration pour mettre en œuvre les changements.

Tester la configuration

Une fois que nous avons configuré rsnapshot, nous pouvons vérifier notre configuration pour d’éventuelles erreurs de syntaxe, en utilisant cette commande :
sudo rsnapshot configtest

Vous devriez voir « Syntax OK » s’afficher si votre configuration n’a aucune erreur de syntaxe. S’il y a des erreurs, elles seront spécifiées dans le résultat de cette commande.

Si les commandes Linux ce n’est pas trop votre truc, n’hésitez pas à jeter un œil à cet article qui vous explique les commandes qu’il faut absolument connaître. Je vous donne aussi une antisèche à télécharger pour les avoir toujours sous la main !

Sauvegardes avec RSnapshot

Le mode de fonctionnement normal serait d’automatiser les sauvegardes rsnapshot avec cron ; cependant, avant de faire cela, nous pouvons tester notre configuration en exécutant manuellement une sauvegarde.

Simulation de sauvegarde

Nous pouvons essayer d’exécuter l’un des niveaux de sauvegarde en mode simulation pour vérifier que toutes les permissions sont correctement configurées. Nous pouvons le faire en utilisant cette commande :
sudo rsnapshot -t daily

Lancer une sauvegarde manuellement

Si la simulation se déroule correctement, nous pouvons créer manuellement une sauvegarde pour vérifier qu’elle fonctionne bien. Nous pouvons le faire avec cette commande :
sudo rsnapshot daily

La sauvegarde prendra un certain temps. Une fois terminée, vous pouvez vérifier que votre sauvegarde a été effectuée en regardant dans votre répertoire snapshot_root.

Comme vous pouvez le voir, une sauvegarde avec le nom daily.0 a été créée dans ce dossier. Ce dossier contient tous les dossiers individuels pour lesquels une sauvegarde a été effectuée.

Télécharger mon antisèche !
Format PDF pratique, avec les 74 commandes à retenir pour maîtriser son Raspberry Pi.
Télécharger maintenant

Tout automatiser avec Cron

Maintenant que nous avons tout configuré et vérifié manuellement que tout fonctionne correctement, nous pouvons automatiser les sauvegardes. La méthode la plus simple pour automatiser les sauvegardes est d’utiliser l’utilitaire cron.

Pour automatiser rsnapshot avec cron, suivez ces étapes :

  • Ouvrez le crontab pour l’utilisateur root, en utilisant cette commande :
    sudo crontab -e
  • Choisissez l’éditeur de texte de votre choix.
  • Un fichier texte s’ouvrira comme ci-dessous :
  • Ajoutez ces trois entrées vers la fin du fichier :
  • Enregistrez et fermez le fichier.

Si vous avez besoin de plus d’aide à ce sujet, consultez notre article sur la planification des tâches avec crontab.

C’est tout ; nous avons configuré rsnapshot pour effectuer des sauvegardes quotidiennes, hebdomadaires et mensuelles des dossiers essentiels sur notre Raspberry Pi.

Restaurer les sauvegardes avec RSnapshot

Après avoir appris à faire des sauvegardes avec rsnapshot, la prochaine question logique est de savoir comment restaurer ces sauvegardes. Pour restaurer les sauvegardes rsnapshot, il suffit de copier et coller les données à leur emplacement d’origine.

Comme nous l’avons déjà vu, les sauvegardes sont situées dans le répertoire snapshot_root. À l’intérieur de ce répertoire, vous verrez plusieurs dossiers. Chaque dossier sera nommé suivant le modèle <Niveau d’instantané>.X où X sera un numéro incrémental montrant la séquence des instantanés.

Par exemple, après une semaine de sauvegardes, mon répertoire snapshot_root ressemble à ceci :

Maintenant, supposons que nous voulions restaurer notre système à son état de mercredi dernier. Dans notre cas, cela correspondrait au dossier daily.2. À l’intérieur de /snapshot_root/daily.2/localhost/ se trouvent les dossiers que vous avez sauvegardés.

Vous pouvez restaurer des dossiers spécifiques en utilisant cette commande :
sudo rsync -avr /<Snapshot_Root>/<Niveau_sauvegarde>.X/localhost/<Nom_dossier> /<Nom_dossier>

Sinon, vous pouvez tout restaurer à partir de votre instantané avec cette commande :
sudo rsync -avr /<Snapshot_Root>/<Niveau_sauvegarde>.X/localhost/ /

Cela restaurera tous les fichiers sur votre système à leur état lors de la prise de l’instantané.

Remarque : Faites attention à ne pas utiliser le paramètre –delete de rsync si vous essayez de restaurer le snapshot complet sur le répertoire racine. Ce paramètre supprimera tous les fichiers du système d’exploitation que nous avons choisi de ne pas sauvegarder. Si vous souhaitez utiliser le paramètre –delete pour supprimer les nouveaux fichiers créés après l’instantané, restaurez uniquement des dossiers individuels (pas le répertoire racine).

L’un des conseils clés est de toujours effectuer un essai de rsync pour confirmer tous les changements qui seront effectués avant de procéder à la restauration. Vous pouvez utiliser l’option d’essai en utilisant cette commande :
sudo rsync -avr --dry-run /<Snapshot_Root>/<Niveau_sauvegarde>.X/localhost/ /

J’ai appris ces deux astuces à mes dépens. En travaillant sur ce tutoriel, j’ai utilisé par erreur le flag –delete en essayant de restaurer la sauvegarde. Cela a entraîné la suppression par rsync de tous les fichiers système de mon Raspberry Pi (car je ne les avais pas inclus dans ma sauvegarde).

Par conséquent, pensez à toujours faire un essai avant d’exécuter réellement rsync.

Et voilà, nous avons réussi à créer des sauvegardes et appris à les restaurer en utilisant rsnapshot. Dans la section suivante, j’explique comment réaliser des sauvegardes vers un emplacement distant afin que, si quelque chose arrive à votre Raspberry Pi, vous puissiez toujours le restaurer.

Télécharger mon antisèche !
Format PDF pratique, avec les 74 commandes à retenir pour maîtriser son Raspberry Pi.
Télécharger maintenant

Rappel: J'ai crée une communauté d'utilisateurs de Raspberry Pi qui vous permet de partage vos avancées, poser vos questions et recevoir de nombreux avantages exclusifs (anglophones uniquement). Cliquez sur le lien pour en savoir plus.

Sauvegarde via SSH

Une des principales limitations de rsnapshot est que le répertoire snapshot_root doit être monté sur un point de montage local. Par conséquent, si nous voulons enregistrer nos sauvegardes sur un ordinateur connecté au réseau, nous devons établir un dossier partagé entre les deux machines.

Vous pouvez établir un dossier partagé en suivant ces étapes :

  • Créez un nouveau dossier sur votre ordinateur :
  • Cliquez avec le bouton droit de la souris sur le dossier et accédez à Properties -> Sharing Tab :
  • Cliquez sur « Advanced Sharing » et cochez « Share this folder ».
  • Configurez les permissions appropriées pour votre utilisateur également.
  • Maintenant, sur votre Raspberry Pi, installez les paquets requis en utilisant cette commande :
    sudo apt install cifs-utils
  • Créez un point de montage en utilisant cette commande :
    sudo mkdir -p /mnt/pibackups
  • Créez et éditez le fichier d’identifiants Samba en utilisant n’importe quel éditeur de texte, par exemple :
    sudo nano /etc/smb-credentials
  • Définissez les permissions correctes en utilisant cette commande :
    sudo chmod 600 /etc/smb-credentials
  • Modifiez /etc/fstab, pour que notre dossier partagé se monte automatiquement au démarrage.
    sudo nano /etc/fstab
  • Ajoutez cette ligne à votre fstab :
    //<Nom d’hôte ou IP de votre ordinateur>/PiBackups /mnt/pibackups cifs credentials=/etc/smb-credentials,iocharset=utf8,file_mode=0777,dir_mode=0777,nounix,noserverino 0 0
  • Maintenant, vous pouvez utiliser la commande mount (en anglais) pour monter le partage :
    sudo mount -a
  • Vous pouvez vérifier que le dossier partagé a été monté en utilisant cette commande :
    df -h | grep pibackups

Voilà, nous avons établi un dossier partagé entre votre Raspberry Pi et un autre ordinateur sur le même réseau local (LAN). Vous pouvez tester ce dossier partagé en partageant quelques fichiers entre les deux.

Articles liés : Comment transformer un Raspberry Pi en serveur de fichiers ?

Remarque : Assurez-vous que le dossier que vous avez partagé sur votre autre ordinateur existe sur une partition EXT4. Car rsnapshot utilise des liens physiques, les partitions non-Linux ne supportent pas les liens physiques.

Une fois le dossier partagé établi, nous pouvons modifier snapshot_root pour nos instantanés vers le nouveau dossier partagé :

Vous pouvez ensuite essayer d’exécuter une sauvegarde manuelle en utilisant cette commande :
sudo rsnapshot daily

Vérifiez que la sauvegarde est bien créée sur votre dossier partagé.

Et voilà ; nous avons configuré rsnapshot sur votre Raspberry Pi et l’avons configuré pour effectuer des sauvegardes incrémentielles sur un PC distant.

Avec juste un peu de configuration, rsnapshot vous offre un moyen robuste et fiable de protéger votre Raspberry Pi contre la perte de données. Que vous sauvegardiez localement ou sur un partage réseau, c’est une solution que vous pouvez configurer et ne plus avoir à y penser. Maintenant, vous pouvez expérimenter librement, vu que votre système peut être restauré à tout moment.

Télécharger mon antisèche !
Format PDF pratique, avec les 74 commandes à retenir pour maîtriser son Raspberry Pi.
Télécharger maintenant

Ressources supplémentaires pour votre Raspberry Pi

Initiation au Raspberry Pi en vidéo
Si vous débutez et voulez passer rapidement à la vitesse supérieure, j’ai exactement ce qu’il vous faut.
Regardez ma formation vidéo qui vous aidera à démarrer du bon bien, choisir votre matériel, installer les meilleures applications et vous lancer directement dans vos premiers projets avec mon aide.
Regarder les vidéos dès maintenant

Maîtrisez votre Raspberry Pi en 30 jours
Vous avez besoin de plus ? Si vous êtes à la recherche des meilleures astuces pour devenir expert sur Raspberry Pi, ce livre est fait pour vous. Développez vos compétences sous Linux et pratiquez via de nombreux projets en suivant mes guides étape par étape. 10% de remise aujourd’hui !
Télécharger le livre au format PDF ici

Maîtrisez Python sur Raspberry Pi
Pas besoin d’être un génie pour coder quelques lignes pour votre Raspberry Pi.
Je vous apprends juste ce qu’il faut sur Python afin de réaliser n’importe quel projet. La seconde partie du livre est d’ailleurs consacrée à des exemples de projets où je vous guide pas à pas.
Ne perdez pas de temps, apprenez le strict nécessaire et économisez 10% avec ce lien :
Télécharger maintenant

Autres ressources pour profiter de votre Raspberry Pi
J’ai regroupé toutes mes recommandations de logiciels, sites utiles et de matériel sur cette page de ressources. Je vous invite à la consulter régulièrement pour faire les bons choix et rester à jour.
Visiter les pages ressources


Ce tutoriel ne marche plus à 100%? Prévenez-moi pour que je le mette à jour!

Publications similaires

Un commentaire

  1. Bonjour Master 😉

    J’m bcp vos artiles car ils ouvrent des perspectives intéressantes et enrichissantes !

    Concernant cet article il est dommage de ne pas expliquer un peu plus avant le montage « ssh » relatif à une sauvegarde sur un NAS – genre OMV – ce qui serait carrément ds le ton du truc.

    Je pense en fait que c’est le but et cela pourrait énormément de gens – Rookies et Avancés -.

    En tous les cas un grand merci Pat’

    Ciao et à +

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *