Sauvegarde automatique
des données critiques
avec rsync
Mbolanirina Stephano Kevin
Joma Alfred Moustaki
NOMENJANAHARY Marcel
Sous la direction de Mr Hery
Année universitaire 2024-2025
Table des matières
PIntroduction................................................................................................................................4
artie 1 - Choix des technologies.................................................................................................5
Pourquoi rsync ?.....................................................................................................................6
Utilisation de cron pour automatiser.......................................................................................6
Partie 2 - Mise en oeuvre de la sauvegarde..............................................................................7
Commande de base rsync......................................................................................................8
Script pour la sauvegarde.......................................................................................................8
Permission et execution du script...........................................................................................9
Partie 3 - Automatisation des sauvegardes............................................................................11
crontab: configuration et fréquence......................................................................................12
Partie 4 - Restauration des données........................................................................................14
Script pour la restauration.....................................................................................................15
Test de restauration..............................................................................................................16
Conclusion.................................................................................................................................17
Introduction
Dans le contexte actuel de la cybersécurité, la préservation et la récupération des
données critiques sont des enjeux majeurs pour toute infrastructure informatique. Que
ce soit pour un particulier, une petite entreprise ou un système à grande échelle, une
solution de sauvegarde fiable, simple et automatisée est indispensable.
Ce projet s’inscrit dans une démarche pédagogique et technique : il s'agit de concevoir,
mettre en œuvre et documenter un système de sauvegarde automatisé basé sur des
outils robustes et accessibles tels que rsync et cron. L’objectif principal est d’assurer la
sauvegarde régulière de données critiques, tout en permettant leur restauration simple
et efficace, le tout à travers des scripts bash clairs et reproductibles.
Partie 1 - Choix des technologies
Pourquoi rsync ?
Avant de répondre à cette question, il est nécessaire de savoir que ce qu’est réellement rsync.
rsync pour Remote Synchronization est un logiciel de synchronisation de fichiers. rsync
travaille de manière unidirectionnelle c’est-à-dire qu’il synchronise, copie ou actualise les
données d’une source (locale ou distante) vers une destination (locale ou distante) en ne
transférant que les octets des fichiers qui ont été modifiés.
Il a été décidé d’utiliser l’outil rsync en raison de sa facilité d’utilisation notamment avec des
commandes très simples et une configuration assez facile. rsync fonctionne sur une large
gamme de systèmes d'exploitation (Microsoft Windows, Mac OS, Linux, Unix) permettant ainsi
de sauvegarder des données à travers différents systèmes d'exploitation. Il est similaire à rcp
(remote copy) d’unix mais avec plus de fonctionnalités et de nombreuses options
supplémentaires. Il utilise un protocole de mise à jour à distance très efficace permettant
d'accélérer le transfert de fichiers si le fichier de destination existe déjà. On peut citer quelques
uns de ces avantages ci-dessous:
❖ Préservation de la structure des données et permissions
❖ Utilisable en réseau et en local
❖ Fournit des logs détaillés
❖ Très personnalisable
❖ Automatisable
Utilisation de cron pour automatiser
cron est un programme qui permet aux utilisateurs Linux d'exécuter automatiquement des
commandes, des scripts, ou des logiciels à une date et une heure spécifiée à l’avance, ou selon
un cycle défini.
C’est une fonctionnalité très utile pour des tâches d’administration système. cron est daemon,
ce qui désigne un programme qui s'exécute en arrière plan. Le service cron attend ainsi le
moment spécifié dans le fichier de configuration (que l’on appelle la crontab ) puis effectue
l’action correspondante et se rendort jusqu’à l’événement suivant.
Utiliser cron est donc indispensable pour ce projet afin d’automatiser les sauvegardes et la
synchronisation des données. Toutes les configurations nécessaires à la réalisation de ce projet
seront donc expliquées dans la partie suivante.
Partie 2 - Mise en oeuvre de la sauvegarde
La mise en place d’un système de synchronisation fiable repose sur une série d’étapes allant de
la configuration initiale jusqu’à l’automatisation du processus. Cette partie va décrire la création
de scripts de synchronisation simple mais qui fonctionne bien.
Commande de base rsync
Pour commencer, il est important de préciser que la sauvegarde va se faire en local, ce qui veut
dire dans la même machine. Avec rsync, la commande Linux qui peut permettre de faire une
sauvegarde est la suivante:
❖ rsync : programme utilisé pour sauvegarder des données entre deux emplacements
❖ -a : activer le mode archive
❖ -v : activer le mode verbose. Il permet d’afficher tous les actions faites par rsync
❖ --delete : supprime dans le dossier de destination tous les fichiers qui n’existent plus
dans le dossier source
Ceci est juste la commande de base. Pour une action plus précise et complète, il va falloir créer
un script.
Script pour la sauvegarde
Le script suivant va faire la sauvegarde des données tout en générant un fichier de log pour
exécution. Cela va permettre un suivi précis de chaque opération.
L'extension du fichier doit être .sh
❖ DATE : c’est une variable au format année-mois-jour heure-minute pour initialiser la
date
❖ LOGFILE : fichier de log qui contiendra les détails de l’opération, nommé avec la date
Permission et execution du script
Pour faciliter l’exécution du script ci-dessous, il est nécessaire de lancer la commande:
Ainsi, il est possible d'exécuter le script et lancer la sauvegarde. Mais le vrai but du projet est
d’automatiser la sauvegarde. La configuration de cette automatisation sera expliquée dans la
partie suivante.
Partie 3 - Automatisation des sauvegardes
La fiabilité d’un système de sauvegarde repose non seulement sur sa capacité à préserver les
données, mais aussi sur sa régularité d’exécution. Pour assurer que les sauvegardes se fassent
de manière systématique sans intervention humaine, il est nécessaire de les automatiser. Cette
section présente l’utilisation de l’outil cron, un planificateur de tâches sous Linux, permettant de
lancer le script de synchronisation à intervalles réguliers.
crontab: configuration et fréquence
Le moyen de faire la configuration de l’automatisation de la synchronisation est d’ouvrir crontab
dans un éditeur de texte avec la commande :
Dans ce fichier de configuration, il y a ces lignes :
Dans le cadre du projet, nous allon ajouter la ligne ci-dessous dans ce fichier de configuration:
❖ cette ligne veut dire que le script backup de sauvegarde va se faire toutes les dix
minutes ( 10 minutes est juste un exemple ).
Une fois la configuration enregistrée, l’observation du fichier de log permet de constater que la
sauvegarde s’est réellement fait dans le délai demandé :
Ce fichier de log dit que :
❖ suppression de «ChatGPT Image Apr 12, 2025, 03_55_37 PM.png»
❖ Ajout de «tab.png»
Le principal but du projet est maintenant atteint. Pour une amélioration et pour plus d'options, il
est très important de pouvoir faire des restaurations.
C’est ce qui sera expliqué dans la prochaine section.
Partie 4 - Restauration des données
Une sauvegarde efficace ne doit pas se limiter à la simple copie des fichiers: elle doit
également faciliter la restauration rapide et fiable des données en cas de besoin. Cette section
explique comment organiser les sauvegardes sous forme de version datées pour préserver
l’historique des fichiers, et détaille le processus permettant de restaurer les données à partir de
ces copies. Le but est de garantir une récupération facile en cas de suppression par accident ou
de corruption des données originales.
Script pour la restauration
Le script suivant permettra de faire la restauration des fichiers :
En faisant la restauration, ce script va en même temps créer un dossier daté contenant les
fichiers restaurer.
Test de restauration
Afin de vérifier que tout fonctionne bien, il est nécessaire de faire des tests. Pour ce faire, il faut
suivre les étapes suivantes :
❖ Effacer un ou plusieurs fichiers déjà sauvegardés du dossier contenant les données
critiques
❖ exécuter le script de restauration
❖ visualiser les logs pour vérifier
Une fois ces étapes faites, le fichier de log doit contenir quelque chose comme:
C’est la preuve que la restauration s’est faite avec succès!
Conclusion
La mise en place d’un système de sauvegarde automatisé constitue une étape essentielle pour
la protection des données critiques. À travers ce projet, une solution simple, fiable et efficace a
été développée en s'appuyant sur des outils robustes tels que rsync et cron. La création de
scripts adaptés, accompagnée de l'organisation rigoureuse des fichiers de logs et du
versionnage des sauvegardes, permet d’assurer non seulement la conservation des données,
mais aussi leur restauration rapide en cas de besoin.
Cette approche, tout en étant accessible et légère, offre une grande flexibilité et peut être
facilement adaptée à des environnements plus complexes. Le projet met ainsi en évidence
l'importance d'anticiper les pertes potentielles de données et de disposer de mécanismes de
sauvegardes adaptés aux besoins spécifiques de chaque système.
En perspective, l’intégration d’outils de notification, la mise en place d’interfaces graphiques ou
encore l'utilisation de solutions de synchronisation sur le cloud pourraient enrichir cette base
pour offrir une protection encore plus complète.