Vous êtes ici :
Accueil Tutoriel Administration Système Comment sauvegarder et restaurer vos données sous linux

Comment sauvegarder et restaurer vos données sous linux

De nos jours vu la montée exponentielle des ordinateurs il est necessaire de faire une sauvegarde de vos données avant ça ne soit trop tard

Introduction

Il est nécessaire de sauvegarder régulièrement le travail effectué, le système, les dossiers et fichiers, les configurations pour pouvoir retrouver rapidement et simplement son environnement de travail en cas de perte des données. Ce tutoriel aborde la sauvegarde et la restauration dans un environnement Linux, en termes de donnée. Il présente une certaine approche, des scripts, et propose des méthodologies à mettre en œuvre, pour réaliser ce travail. Il s’adresse aux administrateurs des serveurs, des bases de données, des systèmes, et des réseaux, afin de comprendre les tâches importantes à affrontées et à appréhender le processus de réalisation. Alors :

Que faut-il sauvegarder, et à quelle fréquence ? Sur quels supports sauvegarder ? ces questions aurons leurs réponses à la fin de ce tutoriel.

 

DEFINITIONS :

 

  • La Sauvegarde :

C’est une opération qui consiste à copier des données informatiques destinées à les préserver en cas d’effacement accidentel.

  • La Restauration :

C’est une opération qui consiste à récupérer des informations qui ont été détruites (totalement ou en partie), en reconstituant les informations, soit en utilisant une sauvegarde.

 

La sauvegarde

  1. Les différents types de sauvegarde.
  • La sauvegarde complète

Les fichiers sont sauvegardés sans tenir compte d'une éventuelle sauvegarde antérieure. Inutile de dire que cette sauvegarde est celle qui occupe le plus d'espace.

Pour cette raison, il est préférable de n'utiliser ce type de sauvegarde qu'épisodiquement. Pour restaurer sa sauvegarde, il suffit d'utiliser uniquement les fichiers créés par sauvegarde complète.

  • La sauvegarde incrémentale

Cette sauvegarde examine le contenu de la dernière sauvegarde en date (peu importe son type). Elle compare cette sauvegarde avec l'état actuel du système et ne sauvegarde que ce qui a changé. Évidemment, la taille occupée par cette sauvegarde est réduite étant donné qu'elle ne s'occupe que des modifications récentes du système. C'est le type de sauvegarde qu'il faut appliquer journalièrement, du moins, régulièrement. Pour restaurer son système, il faut restaurer la dernière sauvegarde complète puis toutes les sauvegardes incrémentales effectuées depuis, et dans l'ordre

  • La sauvegarde différentielle

Fort semblable à la sauvegarde incrémentale, cette sauvegarde ne s'occupe que de ce qui a changé depuis la dernière sauvegarde complète. Ici, pour restaurer le système, il suffit de restaurer la sauvegarde complète puis la dernière différentielle.

  1.   Stratégie de sauvegarde

Selon vos besoins, plusieurs stratégies paraissent envisageables. Il est nécessaire d'effectuer des sauvegardes complètes périodiquement, mais avec une fréquence assez réduite (une fois par mois, par exemple).

Les outils de sauvegarde et de restauration

Il existe différentes façons de sauvegarder ses données sous GNU/linux  on a :

Les outils graphiques (qui s'appuient sur les lignes de commandes) ou directement utiliser ces dernières.

Ligne de commandes ou utilitaire graphique

- tar

 - dump/restore

 - Backup

etc…

Les outils graphiques

Parmi les utilitaires graphiques, on distingue :

- Arena_Backup

- BackupPC

- FullSync

- SBackup

 

  1. Les supports à utiliser pour la Sauvegarde
  • Clé USB.
  • CD, DVD.
  • Disque dur externe.
  • Deuxième disque dur interne.
  • Serveur distant par FTP.
  • Serveur distant par SSH

 

Comment sauvegardez des fichiers et des dossiers

  1. La sauvegarde manuelle

Utilisation de la commande « tar » pour la sauvegarde

Alors, si on désire par exemple sauvegarder le dossier personnel de l'utilisateur ubuntu sur un disque dur externe monté sur /media/votre_media en conservant les chemins absolus et en profitant de la compression GNU des données on fera :

# tar -cvzf /media/votre_media/home_de_ubuntu.tar.gz /home/ubuntu

-c indique qu'on veut créer une sauvegarde ;

v rend la commande un peu plus parlante et le paramètre

f signifie qu'on doit assembler l'archive dans un fichier

z permet de profiter de la compression GNU des données, pour réduire la place occupée par ces dernières !

 

  1. La sauvegarde incrémentale avec touch

On va utiliser la commande « touch »

# touch -t 07290005 .comparaison
# find ~ -newer .comparaison | tar -c -T - -f /media/votre_media/incr.tar

 

La première commande va créer un fichier caché nommé comparaison qui servira de base pour comparer. Les paramètres à indiquer à la commande touch font croire au système que vous avez créé le fichier .comparaison le 29/07 à 00h 05. Ensuite, au moyen de la commande find, on compare la date de création du fichier comparaison avec le reste du système, et tout ce qui a été créé ultérieurement au fichier .comparaison  est envoyé à la commande tar, au moyen du pipe "|", qui se charge de la sauvegarde. Les commandes dump/restore gèrent remarquablement bien la sauvegarde incrémentale.

  1. Sauvegarde du contenu entier de votre ordinateur

Exemple d’un script bash ou shell de sauvegarde complète

Voici  un script qui sauvegarde les dossiers que vous lui avez spécifiés dans une archive backup.tar.gz sur le support que vous aurez choisi.

#!/bin/sh
# Enregistrez ce script sous le nom de backup.sh. Prenez note de son emplacement.
echo "------------------------------------------------------";
echo "- Sauvegarde complète du système";
echo "------------------------------------------------------";
echo "Création de l'archive";
# On crée l'archive .tar en précisant entre guillemets les chemins absolus des dossiers à sauvegarder.
tar -cvzf /votre_support/backup.tar.gz "/etc/" "/root" "/home" "/var" "/usr/local"
echo "------------------------------------------------------";
echo "Vérification de l'existence de l'archive";
# On teste si l'archive a bien été créée
if [ -e /votre_support/backup.tar.gz ]
then
echo "" ;
echo "Votre archive a bien été créée.";
echo "" ;
else
echo "" ;
echo "Il y a eu un problème lors de la création de l'archive.";
echo "" ;
fi
echo "### Fin de la sauvegarde. ###";

 

Si on désire sauvegarder l'intégralité de son système, la marche à suivre est identique, à l'exception près que le dossier n'est pas /home/ubuntu, mais uniquement / (racine). Si on veut regarder le contenu d'une archive.tar sans en extraire quoi que ce soit, on fait :

# tar -tf /emplacement_archive/archive.tar

Le paramètre -t permet de lister le contenu de l'archive.

Si maintenant on s'aperçoit après création de l'archive.tar qu'on a oublié un fichier, on l'ajoute via la syntaxe:

# tar -rvf /emplacement_arch/arch.tar /emplacement_fichier/fichier_a_ajouter

 

La Restauration

Comment restaurez les fichiers et des dossiers

Pour restaurer le répertoire /home que l'on vient de sauvegarder, on se place d'abord dans /(racine), ensuite :

# tar -xvzf /media/votre_media/home_de_ubuntu.tar.gz home/ubuntu

Le paramètre -x exprime qu'on extrait un fichier pour le restaurer.

 

Comment restaurez le contenu entier de votre ordinateur

Ensuite, un script qui va chercher l'archive précédemment créée, qui en extrait l'intégralité des fichiers/répertoires et qui les replace à leur emplacement initial.

#!/bin/sh
# Enregistrez ce script sous le nom restore.sh. Prenez également note de son emplacement.
echo "------------------------------------------------------";
echo "- Restauration du système";
echo "------------------------------------------------------";
echo "";
echo "Récupération et extraction de l'archive";
# On se place à la /(racine), comme je l’ai expliqué tout à l'heure.
cd /
# On extrait les répertoires archivés en ne mettant pas le / devant, comme expliqué tout à l'heure.
tar -xvzf /votre_support/backup.tar.gz "etc" "root" "home" "var" "usr/local"
echo "------------------------------------------------------";
echo "";
echo "### Fin de l'extraction des fichiers. ###";

Attribution d’un droit d’exécution sur la restauration

# chmod 755 backup.sh restore.sh

Execution du script shell crée

# cd /dossier_du_script && ./votre_script.sh

 

Automatisation des tâches de la sauvegarde

Pour sauvegarder vos données d’une manière automatiques (on peut oublier de le faire, aussi...) alors il va falloir automatiser tout cela . Dans la console, tapez :

# crontab -e

Et choisissez 3 pour « Nano » ou 1 pour « gedit »

# m h  dom mon dow   command

m (la minute);

h (l’heure);

dom  (Day of the Month=le jour du mois );

mon, (Month=le mois de l’année) ;

dow  (Day of the Week = le jour de la semaine) ;

Rajoutez une ligne comme celle-ci, pour que vos sauvegardes soient effectuées tous les lundis à 19h30 par exemple.

30 19 * * 1 cd /dossier_où_est_enregistré_backup.sh/./backup.sh

*  (signifie n’importe quel moment)

Enregistrez votre fichier via Nano ou gedit, la crontab vous informe de la prise en compte des changements et le compte est bon.

Cas du serveur distant par SSH

Sachez que si vous désirez sauvegarder vos données sur un serveur distant, le mieux est encore de créer son archive.tar.gz, de la stocker localement (sur votre disque même ou sur un disque dur externe) et d'ensuite l'envoyer via SSH sur votre serveur distant.

Voici un exemple pratique. On souhaite envoyer l'archive backup.tar.gz sur son serveur via le protocole SSH. Il faut pour cela utiliser un client SSH.

Nous vous recommandons d'utiliser SCP (pour Ssh CoPy) qui s'utilise comme la commande cp (installation classique via le gestionnaire de paquets). Il est évident qu'il faut au préalable s'identifier avant toute transaction avec le serveur. La commande suivante permet de se connecter au serveur, moyennant l'entrée de votre mot de passe (il ne s'affichera pas lorsque vous le rentrerez, comme d'habitude en console) :

# ssh utilisateur@votreserveur.com

Pour notre exemple on fera :

# scp /emplacement_archive/backup.tar.gz utilisateur@serveurdistant.exemple.fr

Ce qui aura pour effet de copier notre archive.tar.gz dans le répertoire courant du compte sous lequel vous êtes connecté sur le serveur distant !

Si on désire récupérer ses données depuis le serveur distant, il faut d'abord récupérer l'archive et en extraire ensuite les fichiers.

Pour récupérer l'archive, on inverse simplement les opérandes de la commande scp.

La commande d'extraction/restauration des fichiers est la suivante :

# tar -xvzf /votre_support/backup.tar.gz "etc" "root" "home" "var" "usr/local"

Où les dossiers entre guillemets sont ceux, que vous aviez décidé de sauvegarder. N'oubliez pas mettre le "/" au début du chemin de vos dossiers.

Vous avez maintenant une stratégie de sauvegarde qui vous permettra de retrouver vos données en cas de perte.

L’utilité de la sauvegarde

Pourquoi sauvegarder ?

En effet, voici une liste non-exhaustive de causes possibles d'endommagement des données :

  • Incendie
  • Erreur de votre part, lors d'une modification des partitions, par exemple.
  • Problème mécanique (comprennez "crash du disque").
  • Attaque par un pirate (risque réduit dans le cas d'une utilisation familiale du système).
  • Système rendu instable par une erreur de votre part (ou non).
  • Autres...

 

En bref pour une sauvegarde et une restauration réussies, il faut avant tout une bonne préparation, basée sur une organisation solide, les opérations de sauvegardes et de restaurations sont des opérations très délicates qui nécessitent un périmètre (s’il s’agit de faire des sauvegardes sur une machine, et de les restaurer sur la même machine, sans modification des éléments sauvegardés.

Pour ce faire, quelques règles d’organisations doivent être mises en place pour que ces opérations soient rapides et efficaces, et définir les besoins de la sauvegarde (données nécessaires, les serveurs, les programmes, les fichiers et les dossiers, les rapports, la Base de données, etc) et avoir une idée sur leur taille, disposer également d’une unité de stockage adéquate.

Voilà le tutoriel prend fin merci à Guy, Chancelia, pour le soutien à la réalisation de ce tuto.




Tony NGUEREZA 11 Jan 2016, 17h40

Aucun commentaire n'a encore été ajouté soyez le premier a ajouté un commentaire

Vous n'êtes pas connecter veuillez vous connecter ou créer gratuitement un compte pour poster des commentaires

Vous êtes ici :
Accueil Tutoriel Administration Système Comment sauvegarder et restaurer vos données sous linux