Cet article fait partie de notre guide: Les bases de l’administration des serveurs Linux

Linux : Comment sauvegarder et restaurer des fichiers avec tar

Cet article explique comment utiliser l’utilitaire d’archivage tar, typique de Linux. Il donne quelques commandes pour créer des fichiers, les sauvegarder et les restaurer.

L’utilitaire d’archivage tar est largement utilisé dans le monde Linux. Il est utile pour sauvegarder et restaurer des fichiers rapidement et facilement. Les administrateurs s’en servent souvent pour regrouper des fichiers dans une seule archive en vue de leur transfert sur un réseau ou pour faciliter leur téléchargement par les utilisateurs.

Tar a deux fonctions complémentaires : la création d’archives et l’extraction de fichiers. La création d’archives, appelées ici tarballs, consiste à copier des fichiers dans un groupe pour les sauvegarder ou les transférer. L’extraction consiste à copier des fichiers d’un groupe vers un répertoire. Il peut être utile de considérer la création de tarballs comme la fonction de sauvegarde et l’extraction de fichiers comme la fonction de restauration.

Les utilisateurs peuvent combiner tar avec divers utilitaires de compression pour faciliter la gestion des paquets de données.

Créez des fichiers

Commencez par vérifier que tar est installé sur votre système Linux. Il est presque certain qu’il l’est, mais cela vaut la peine de le vérifier.

Ouvrez une console de terminal sur votre Linux, qu’importe la distribution. Tapez la commande suivante.

$ which tar

Vous devriez voir une sortie indiquant que tar existe sur le système. La sortie indique /usr/bin/tar sur la plupart des systèmes.

Si nécessaire, utilisez le gestionnaire de paquets de votre distribution pour installer tar.

Sur Red Hat et les distributions similaires, tapez ce qui suit.

$ sudo dnf install tar

Sur Debian et les distributions similaires, tapez ce qui suit.

$ sudo apt install tar

Ensuite, exécutez les commandes suivantes pour créer quelques ressources avec lesquelles vous pourrez travailler.

$ cd ~
$ mkdir projects
$ cd projects/
$ touch file1.txt file2.txt file3.txt
$ echo "File 1 Contents" > file1.txt
Screenshot de la création de fichiers tar
Figure 1. Création de quelques fichiers pour que tar puisse travailler.

Vous avez maintenant créé un répertoire nommé projects dans le répertoire personnel et l’avez rempli avec trois fichiers texte. Dans cet exemple, ces ressources représentent les données de l’utilisateur que vous devez sauvegarder sur le système.

Comment sauvegarder et archiver vos fichiers avec tar ?

Pour commencer à utiliser tar, créez une archive et copiez-y les trois fichiers texte.

Voici les options de tar pour créer une archive.

Option Description
-c Creates the file archive. Think of it as the backup command.
-v Returns output when the tar command completes. It is not necessary, but it can be nice to see what files the command copied into the archive.
-f Specifies that the next object in the command is the archive. Required.
-r Appends more files to an existing archive.

Assurez-vous d’être dans le répertoire projects, puis tapez la commande suivante pour créer une archive nommée backup.tar.

$ tar -cvf backup.tar *.txt
Create tar archive output screenshot.
Figure 2. Création d'une archive tar.

La commande ci-dessus crée l’archive backup.tar, copie tout fichier contenant l’extension .txt et affiche les noms des fichiers copiés. La commande aurait fonctionné sans l’option -v.

L’option -r permet d’ajouter des fichiers à une archive existante. Par exemple, si vous avez créé une archive contenant trois fichiers et que vous vous êtes rendu compte que vous aviez oublié un quatrième fichier, vous pouvez ajouter le quatrième fichier en utilisant l’option -r.

$ touch file4.txt
$ tar -rf backup.tar file4.txt

Dans certains cas, il peut être nécessaire d’exclure des fichiers spécifiques de l’archive. L’option --exclude {nom de fichier} permet à tar d’éviter le fichier spécifié.

À ce stade d’une sauvegarde classique, vous pouvez copier ces fichiers sur un autre volume ou sur un service de stockage en cloud pour les protéger de la corruption, de la suppression ou des modifications futures. Pour les besoins de cet exercice, nous supposons que vous avez copié les fichiers sur votre stockage secondaire.

Simulez une perte de données

Vous disposez à présent d’une sauvegarde de vos fichiers texte. Exécutez soigneusement la commande suivante dans le répertoire projects.

$ rm -f *.txt
Accidental deletion output screenshot.
Figure 3. Simulation d'une suppression accidentelle.

Imaginez que vous ayez accidentellement supprimé les trois fichiers texte. Utilisez la commande ls pour confirmer que les fichiers ont disparu.

Comme vous avez utilisé la commande tar, vous disposez d’une sauvegarde des fichiers et pouvez les restaurer. Supposons que vous ayez copié l’archive backup.tar depuis votre emplacement de stockage secondaire et que vous soyez prêt à en extraire vos fichiers texte.

Comment restaurer les fichiers avec tar ?

La restauration de fichiers avec tar est simple. Le processus copie les fichiers de l’archive vers l’emplacement de destination. L’extraction des fichiers ne détruit pas l’archive ; il s’agit d’une action de copie.

Commencez par afficher le contenu de l’archive backup.tar. Utilisez l’option -t, comme indiqué ci-dessous.

$ tar -tf backup.tar
View archive contents output screenshot.
Figure 4. Visualisation du contenu d'une archive tar.

L’affichage du contenu de l’archive est utile lorsque vous avez plusieurs sauvegardes et que vous ne savez pas quelle archive contient les fichiers que vous souhaitez restaurer.

Une fois que vous avez déterminé que vous disposez de la bonne archive, vous pouvez restaurer les fichiers. Voici les deux principales options pour ce faire.

Option Description
-x Extracts the files from the archive to the current directory.
-f Specifies that the next object in the command is the archive. Required.

Vous pouvez à nouveau utiliser l’option -v pour afficher les fichiers extraits.

Pour restaurer tous les fichiers de l’archive, tapez ce qui suit.

$ tar -xf backup.tar
Extract files output screenshot.
Figure 5. Extraction de tous les fichiers d'une archive tar.

Utilisez la commande ls pour afficher le contenu du répertoire. Vous devriez voir les trois fichiers texte que vous avez archivés, comme le montre la figure 5. Tapez cat file1.txt pour confirmer que le contenu du fichier existe.

Comment restaurer un seul fichier ?

Si vous n’essayez de restaurer qu’un seul fichier, indiquez simplement le nom du fichier dans la commande.

Par exemple, pour restaurer uniquement le premier fichier texte, tapez ce qui suit.

$ tar -xf backup.tar file1.txt
Extract single file output screenshot.
Figure 6. Extraction d'un seul fichier d'une archive tar.

Utilisez à nouveau la commande ls et observez que le fichier backup.tar existe toujours. Le processus d’extraction a copié les fichiers texte de l’archive. L’archive reste une source de sauvegarde valide.

Utiliser la compression

Si vous ne travaillez qu’avec quelques fichiers, la compression n’est pas nécessaire. Pour les sauvegardes plus importantes, vous pouvez compresser les fichiers en ajoutant l’option -z pour utiliser GNU Zip, ou gzip.

Par exemple, pour créer l’archive et compresser les fichiers, tapez la commande suivante.

$ tar -cvzf tarball.tar.gz *.txt
Compress archive output screenshot.
Figure 7. Compression d'une archive.

La plupart des administrateurs ajoutent l’extension .gz au nom de l’archive lorsqu’ils utilisent gzip.

Notez les différences de taille entre les archives compressées et non compressées dans la capture d’écran suivante.

Compressed vs. uncompressed archive output screenshot.
Figure 8. Affichage de la différence de taille entre une archive compressée et une archive non compressée.

Utilisez la même option -z avec extract pour décompresser l’archive pendant le processus de restauration.

$ tar -xzf tarball.tar.gz

Essayez de sauvegarder votre répertoire personnel en utilisant différents outils de compression pour voir lequel est le plus efficace. Ils varient souvent en fonction du type de fichier, comme les images ou les fichiers texte. N’oubliez pas d’utiliser la page de manuel de Linux, ou manpage, pour découvrir les nombreuses autres options puissantes de tar.

Les administrateurs système peuvent également tirer profit de l’écriture de scripts sur tar. Créez un simple script Bash qui sauvegarde votre répertoire personnel et le copie à un autre emplacement. N’oubliez pas d’utiliser les minuteries cron ou systemd pour planifier les tâches de sauvegarde. De nombreux utilisateurs de Linux trouvent que des périphériques tels que les ordinateurs Raspberry Pi fonctionnent parfaitement comme serveurs de fichiers pour stocker les tâches de sauvegarde.

Pour approfondir sur Administration de systèmes