Roman Milert - Fotolia

Sauvegarde Linux : comment utiliser les commandes dump et restore

Dump et restore sont deux utilitaires Linux qui permettent de garantir des sauvegardes fiables. De l’installation de l’utilitaire à la restauration des systèmes de fichiers, ce tutoriel s’adresse aux utilisateurs de Linux de tous niveaux.

L’utilitaire dump est un outil de sauvegarde simple et puissant qui date des premiers jours de Linux. Alors que la plupart des programmes de sauvegarde fonctionnent par fichier, dump sauvegarde des systèmes de fichiers.

Un outil comme tar peut être dirigé vers un répertoire de fichiers et chargé de créer une archive de cette ressource. Cette fonction a sa place, mais dump opère à une échelle plus large. L’outil approprié dépend de l’objectif de la sauvegarde et, en fin de compte, des exigences de restauration.

Dump offre un avantage considérable par rapport à cpio, tar et d’autres utilitaires similaires en raison de la manière dont il gère les sauvegardes incrémentielles. Une fois qu’une sauvegarde complète est exécutée, les sauvegardes incrémentielles se contentent de copier les fichiers qui ont été modifiés ou créés depuis la sauvegarde complète. Cela permet aux sauvegardes suivantes de s’exécuter plus rapidement, ce qui est un avantage sur les machines lentes dotées de systèmes de fichiers volumineux.

Dump possède quelques caractéristiques spécifiques qui le distinguent des autres, ainsi que quelques exigences clés à noter. Dump nécessite ainsi des systèmes de fichiers ext2, ext3 ou ext4. Cela peut poser un problème de compatibilité avec certaines distributions modernes qui utilisent le système de fichiers XFS.

Ci-dessous, les utilisateurs de Linux, nouveaux et anciens, en apprendront davantage sur l’utilitaire dump, notamment sur la manière de l’installer, les différentes façons de l’utiliser pour les sauvegardes et la manière d’utiliser l’outil de restauration pour récupérer un système de fichiers sauvegardé.

À la question « Que faut-il sauvegarder ? », de nombreux utilisateurs répondront « Tout ». Cependant, ce n’est pas nécessairement vrai, en particulier sur les grands systèmes et avec les déploiements rapides et automatisés d’aujourd’hui.

Dans de nombreux cas, les seules données à sauvegarder sont celles de l’utilisateur, comme le contenu du répertoire /home. Les fichiers du système d’exploitation n’ont pas toujours besoin d’être sauvegardés. Cependant, vous pouvez avoir besoin de sauvegarder des fichiers de configuration personnalisés pour des services spécifiques, tels qu’Apache, DNS ou DHCP.

Installez dump et restore

L’utilitaire dump peut ne pas être installé sur votre distribution actuelle. Utilisez le gestionnaire de paquets de votre distribution pour l’ajouter.

Par exemple, sur Red Hat et les distributions similaires, tapez ce qui suit :

$ sudo dnf install dump

Sur Debian et les distributions similaires, tapez ceci :

$ sudo apt install dump

N’oubliez pas que dump ne reconnaît que les systèmes de fichiers ext*. Utilisez l’une des commandes suivantes pour confirmer que le système utilise ext4, ext3 ou ext2.

$ df -Th
$ lsblk -f

Sélectionnez les options de sauvegarde

Comme d’autres commandes Linux, dump reconnaît des paramètres, une destination et une source. La syntaxe de base de dump est la suivante :

dump parameters destination-target source-target

La cible destination-target est le chemin où le travail de sauvegarde sera stocké. La source source-target est le système de fichiers que vous sauvegardez.

Avant d’aborder les étapes spécifiques de la réalisation d’une sauvegarde avec dump, prenez en compte les paramètres suivants et d’autres réglages.

Dump attend une valeur de niveau dans le cadre de la commande. Ces niveaux spécifient le type et l’ordre des sauvegardes complètes et incrémentielles. Une sauvegarde de niveau 0 est une sauvegarde complète, c’est-à-dire qu’elle sauvegarde l’intégralité du système de fichiers, quelles que soient les modifications. Il s’agit de la tâche de sauvegarde initiale.

Les niveaux 1 à 9 identifient des tâches de sauvegarde spécifiques. Dump utilise ces niveaux pour décider quels fichiers nouveaux ou modifiés sauvegarder. Pour ce faire, il compare les niveaux de sauvegarde avec tous les travaux dont le niveau est inférieur.

Une sauvegarde dump exécutée au niveau 3 récupérera tous les fichiers nouveaux ou modifiés depuis la sauvegarde de niveau 2. Une sauvegarde de niveau 4 récupère les fichiers modifiés depuis le niveau 3. En fonction de la fréquence des sauvegardes, un administrateur peut exécuter une sauvegarde de niveau 0 le lundi, puis de niveau 1 le mardi, de niveau 2 le mercredi et ainsi de suite. Cette approche fournit une structure de sauvegarde incrémentielle.

Les paramètres de dump

Il y a deux paramètres principaux avec lesquels travailler : le premier est le niveau, et le second est l’option -f, qui spécifie l’emplacement de stockage cible pour le travail de sauvegarde.

La commande dump étant assez ancienne, elle accepte de nombreuses options pour prendre en charge la sauvegarde sur bandes, et en particulier gérer la permutation des cassettes quand arrive la fin de la bande magnétique. La commande Dump peut ainsi créer des tâches de sauvegarde qui s’étendent sur plusieurs supports, dont plusieurs bandes.

Dump peut aider à déterminer si une sauvegarde est nécessaire. En utilisant une combinaison de /etc/fstab et /etc/dumpdates, il affiche les systèmes de fichiers qui ont changé et qui méritent donc d’être sauvegardés. Utilisez l’option -W pour générer ces informations.

$ sudo dump -W

Dans /etc/fstab, marquez les systèmes de fichiers que dump doit reconnaître et dont il doit suivre les modifications. Mettez la cinquième colonne à 1 pour chaque entrée de système de fichiers dans /etc/fstab que dump doit gérer. Il le fait en conjonction avec le fichier /etc/dumpdates.

Exécutez une tâche de sauvegarde

Supposons que vous déployiez un serveur de fichiers Linux pour héberger les répertoires personnels des utilisateurs. Tous les répertoires personnels se trouvent dans l’emplacement standard /home, ce qui en fait une cible parfaite pour une sauvegarde avec dump. Assurez-vous que les répertoires présents sur le disque de destination existent déjà, car dump ne les créera pas.

Après avoir exécuté la commande dump -W pour vérifier si une sauvegarde est utile, exécutez un dump de base de niveau 0.

$ dump 0f /dev/sdb1 /dev/sda1

Attendez que la tâche de sauvegarde se termine. Dump affiche des mises à jour d’état périodiques et un message de fin de sauvegarde.

Sauvegardez vers un emplacement réseau avec rdump

Dans cet exemple, l’emplacement de stockage pour la tâche de sauvegarde est un système de fichiers monté localement. Utilisez l’utilitaire rdump pour envoyer des tâches de sauvegarde vers des périphériques de stockage montés sur le réseau. Il s’agit d’une option courante dans les réseaux modernes.

La syntaxe permettant de cibler un emplacement réseau pour stocker le travail de sauvegarde est similaire à celle des autres services. Indiquez le système distant et un chemin absolu vers l’emplacement de stockage. Assurez-vous que tous les répertoires nécessaires existent avant de lancer la sauvegarde.

Pour sauvegarder /home dans un répertoire nommé /recovery/backups sur un serveur distant nommé fileserver09, tapez ce qui suit :

$ rdump 0uf fileserver09:/recovery/backups /home

Sauvegardez vers une image disque

Une autre solution de stockage consiste à sauvegarder une image de disque créée à l’aide de la commande dd. Cet utilitaire a de nombreuses utilisations. Dans ce cas, utilisez la commande ci-dessous pour créer un emplacement de stockage de 2 Go pour une tâche de sauvegarde de type « dump » qui émule un disque distinct, mais qui n’est en fait qu’un fichier.

$ dd if=/dev/zero of=backup.img bs=1 count=0 seek 2G

Utilisez le fichier backup.img comme destination pour l’archive.

$ dump 0f /media/backup.img /dev/sda1

Restaurez la sauvegarde avec restore

Une défaillance matérielle ou un système de fichiers corrompu peut vous amener à restaurer un système de fichiers. Dans le scénario précédent, vous avez sauvegardé le système de fichiers /home sur un serveur de fichiers. Suivez les étapes suivantes pour restaurer ces informations.

La syntaxe de base de la restauration est la suivante.

restore rf backup-source

Le chemin spécifié est l’emplacement de stockage de la tâche de sauvegarde. En d’autres termes, vous avez utilisé la commande dump pour écrire l’archive sur /dev/sdb1, et vous devez maintenant restaurer l’archive à partir de cet emplacement. La restauration est écrite à l’emplacement actuel de l’utilisateur.

Décidez ce qu’il faut restaurer et choisissez les bonnes options

Dump sauvegarde un système de fichiers entier. La commande restore, cependant, comprend des options permettant de spécifier les fichiers individuels à restaurer. Utilisez les paramètres de la commande pour identifier les fichiers à restaurer. Toutefois, les commandes dump et restore partent du principe que vous travaillez au niveau du système de fichiers, et non au niveau des fichiers.

La commande restore permet de visualiser et d’extraire le contenu des archives ou de restaurer des fichiers.

Option Description
r Extrait l’archive entière dans le répertoire actuel.
f L'objet suivant est l’emplacement de la tâche de sauvegarde.
t Liste les noms trouvés dans l’archive.
C Compare l’archive avec le répertoire actuel.
x Extrait uniquement les fichiers spécifiés au lieu de l’archive entière.
v Affiche la sortie en version longue (verbeuse).

Le processus de restauration comprend les étapes suivantes :

  1. Si nécessaire, installez et configurez Linux sur un nouveau système.
  2. Montez un disque formaté et changez de point de montage.
  3. Utilisez l’outil restore pour récupérer le système de fichiers.

Par exemple, la commande de restauration peut ressembler à ceci :

$ restore rf /dev/sdb1

Ici, on ne précise aucune destination, car la restauration écrit à l’emplacement actuel de l’utilisateur. Utilisez pwd pour vous assurer que la restauration se fait dans le répertoire prévu.

Restaurez à partir d’un emplacement réseau avec rrestore

Les utilisateurs devront utiliser la commande rrestore si la sauvegarde réside sur un partage réseau, suite à l’utilisation de la commande rdump vue plus haut.

La syntaxe de rrestore est la suivante, en supposant que l’emplacement de stockage utilisé dans l’exemple rdump précédent soit le même :

$ rrestore rf fileserver09:/recovery/backups

Pour approfondir sur Backup