Introduction
Dans le monde de l'informatique, les données sont inestimables. La perte de données, qu'elle soit due à une défaillance matérielle, à une suppression accidentelle ou à des attaques malveillantes, peut être catastrophique. La résilience des données est la pratique consistant à garantir que vos données sont protégées, disponibles et récupérables en cas de défaillance.
Ce laboratoire vous introduira à deux concepts fondamentaux de la résilience des données sur les systèmes Linux : la création de sauvegardes et la vérification de l'intégrité des fichiers. Vous utiliserez des outils standard en ligne de commande Linux pour effectuer ces tâches.
Vous apprendrez à :
- Utiliser la commande
tarpour créer une archive compressée (sauvegarde) de fichiers importants. - Simuler un scénario de perte de données en supprimant des fichiers.
- Restaurer vos données à partir de l'archive de sauvegarde.
- Utiliser des sommes de contrôle (checksums) avec
md5sumpour vérifier que vos fichiers n'ont pas été altérés ou corrompus.
À la fin de ce laboratoire, vous aurez une expérience pratique et concrète des compétences essentielles pour tout administrateur système ou développeur.
Créer une sauvegarde locale de fichiers critiques avec Tar
Dans cette étape, vous apprendrez à créer une sauvegarde compressée d'un répertoire à l'aide de l'utilitaire tar (Tape Archive). tar est une commande puissante et largement utilisée pour regrouper des fichiers et des répertoires en un seul fichier archive, qui peut ensuite être compressé pour économiser de l'espace. C'est une méthode courante pour créer des sauvegardes locales.
Tout d'abord, vérifions les fichiers qui ont été créés pour vous par le script d'installation. Tout votre travail sera effectué dans le répertoire ~/project.
Listez le contenu du répertoire ~/project :
ls -R ~/project
Vous devriez voir le répertoire critical_data avec ses fichiers et un répertoire backups vide.
/home/labex/project:
backups critical_data
/home/labex/project/backups:
/home/labex/project/critical_data:
config.txt user_data.csv
Maintenant, créons une sauvegarde compressée du répertoire critical_data et stockons-la dans le répertoire backups. Nous utiliserons la commande tar avec les options suivantes :
c: Crée une nouvelle archive.z: Compresse l'archive avec gzip. C'est pourquoi le fichier aura une extension.gz.v: Mode verbeux. Liste les fichiers au fur et à mesure de leur traitement.f: Spécifie le nom du fichier archive à créer.-C: Changez pour le répertoire spécifié avant de créer l'archive. Cela garantit que nous stockons des chemins relatifs au lieu de chemins absolus, rendant la sauvegarde plus portable et évitant les structures de répertoires imbriquées lors de l'extraction.
Exécutez la commande suivante dans votre terminal :
tar -czvf ~/project/backups/backup.tar.gz -C ~/project critical_data
La commande affichera les noms des fichiers qu'elle ajoute à l'archive :
critical_data/
critical_data/config.txt
critical_data/user_data.csv
Vous avez maintenant créé avec succès une sauvegarde. Pour en être sûr, vous pouvez lister le contenu du répertoire backups :
ls ~/project/backups
Vous devriez voir votre nouveau fichier de sauvegarde :
backup.tar.gz
Simuler une perte de données et restaurer à partir de la sauvegarde
Dans cette étape, vous allez simuler un scénario de catastrophe courant : la suppression accidentelle de données. Ensuite, vous utiliserez le fichier de sauvegarde que vous avez créé à l'étape précédente pour restaurer les données perdues.
Tout d'abord, simulons la perte de données en supprimant définitivement le répertoire critical_data. La commande rm -rf est très puissante et doit être utilisée avec prudence ; elle supprime les répertoires et les fichiers de manière récursive (-r) et forcée (-f) sans demander de confirmation.
Exécutez la commande suivante pour supprimer le répertoire :
rm -rf ~/project/critical_data
Maintenant, vérifiez que le répertoire a disparu en listant le contenu de votre répertoire de projet :
ls ~/project
Vous verrez que le répertoire critical_data n'est plus là :
backups
Ne vous inquiétez pas ! C'est pourquoi nous avons des sauvegardes. Restaurons maintenant le répertoire à partir de l'archive backup.tar.gz. Nous utiliserons à nouveau la commande tar, mais avec des options différentes :
x: Extrait les fichiers d'une archive.z: Décompresse l'archive avec gzip.v: Mode verbeux, pour voir les fichiers lors de leur extraction.f: Spécifie le nom du fichier archive à utiliser.-C: Spécifie le répertoire dans lequel extraire les fichiers. Nous les extrairons dans~/project.
Exécutez cette commande pour restaurer vos données :
tar -xzvf ~/project/backups/backup.tar.gz -C ~/project
Vous verrez la sortie des fichiers en cours d'extraction :
critical_data/
critical_data/config.txt
critical_data/user_data.csv
Notez que tar a conservé la structure de répertoire d'origine, mais sans les préfixes de chemin absolu puisque nous avons utilisé l'option -C lors de la création de la sauvegarde. Vérifions que la restauration a réussi. Listez à nouveau le contenu du répertoire ~/project :
ls -R ~/project
Vous devriez voir que le répertoire critical_data et tous ses fichiers d'origine ont été restaurés.
/home/labex/project:
backups critical_data
/home/labex/project/backups:
backup.tar.gz
/home/labex/project/critical_data:
config.txt user_data.csv
Vous avez réussi à vous remettre d'un événement de perte de données simulé.
Surveiller l'intégrité des fichiers avec des sommes de contrôle
Dans cette étape, vous apprendrez à surveiller l'intégrité des fichiers. Une sauvegarde vous protège contre la perte de données, mais elle ne vous dit pas si un fichier a été subtilement corrompu ou modifié de manière malveillante. Une somme de contrôle (ou hash) est une empreinte digitale unique d'un fichier. Si ne serait-ce qu'un seul bit du fichier change, la somme de contrôle changera complètement. Cela en fait un excellent outil pour vérifier l'intégrité des fichiers.
Nous utiliserons la commande md5sum, qui calcule une somme de contrôle MD5. Bien que SHA-256 (sha256sum) soit plus sécurisé cryptographiquement, md5sum est simple et suffisant pour cette démonstration.
Tout d'abord, générons les sommes de contrôle pour nos fichiers critiques et sauvegardons-les dans un fichier de référence.
md5sum ~/project/critical_data/* > ~/project/checksums.md5
Maintenant, visualisons le contenu du fichier checksums.md5 que vous venez de créer :
cat ~/project/checksums.md5
La sortie affichera une somme de contrôle unique pour chaque fichier. Vos valeurs de somme de contrôle seront identiques à celles-ci :
d7118547a95c5470575962481c2e358c /home/labex/project/critical_data/config.txt
b643407358b9de495715f13432577d33 /home/labex/project/critical_data/user_data.csv
Maintenant, simulons une modification non autorisée d'un des fichiers. Nous allons ajouter un commentaire au fichier config.txt.
echo "## This is a change" >> ~/project/critical_data/config.txt
Le fichier a été modifié. Pour un observateur qui ne fait que regarder la liste des fichiers, rien ne semble anormal. Mais nous pouvons utiliser notre fichier de sommes de contrôle pour vérifier les changements. L'option -c indique à md5sum de vérifier les fichiers par rapport à une liste.
md5sum -c ~/project/checksums.md5
La commande vérifiera chaque fichier listé dans checksums.md5 par rapport à son état actuel sur le disque. La sortie montrera clairement que config.txt a été modifié :
/home/labex/project/critical_data/config.txt: FAILED
/home/labex/project/critical_data/user_data.csv: OK
md5sum: WARNING: 1 computed checksum did NOT match
Ce statut "FAILED" vous alerte immédiatement que le fichier n'est plus dans son état d'origine et de confiance. C'est une technique puissante pour détecter la corruption de données ou les violations de sécurité.
Résumé
Félicitations pour avoir terminé ce laboratoire ! Vous avez acquis une expérience pratique des pratiques fondamentales de résilience des données dans un environnement Linux.
Dans ce laboratoire, vous avez appris à :
- Créer des sauvegardes : Vous avez utilisé la commande
tarpour créer une sauvegarde compressée de fichiers critiques, une compétence essentielle pour prévenir la perte de données. - Restaurer des données : Vous avez simulé un scénario de perte de données et restauré avec succès vos fichiers à partir d'une archive
tar, démontrant un cycle complet de sauvegarde et de récupération. - Vérifier l'intégrité des fichiers : Vous avez utilisé
md5sumpour générer et vérifier les sommes de contrôle des fichiers, une méthode puissante pour détecter les modifications non autorisées ou la corruption des données.
Ces compétences sont essentielles pour maintenir la sécurité et la disponibilité de tout système. Sauvegarder régulièrement les données et vérifier leur intégrité sont des composantes cruciales de l'administration système responsable et du déploiement d'applications robustes.



