OldGentooWiki:Archives tar multi-volumes

De Gentoo-Quebec.

(Redirigé depuis Archives tar multi-volumes)

Go-previous.png Index des trucs et astuces avancés


Gentoo-quebec+Funtoo-quebec.png

Archives tar multi-volumes


Sommaire

Introduction

Le présent article expose une manière d'utiliser la commande tar en vue de la création de volumes multiples (ce qui se produit lorsque taille des données à sauvegarder plus grande que celle du support). Elle ne présente que l'approche par une sauvegarde complète pour le moment (TODO : Sauvegardes incrémentales) au travers de quelques exemples simples, la documentation GNU n'étant pas très explicite et évidente à ce sujet (il faut fouiller patiemment...)

Création de la sauvegarde

Le problème est de sauvegarder le répertoire /home d'un gros serveur contenant plusieurs dizaines de giga-octets de données. La machine n'étant pas dotée d'une sauvegarde sur bande, il n'est pas possible d'envoyer l'archive tar directement sur une unité de sauvegarde à bande (/dev/tape). Cependant, cette machine étant dotée d'un graveur de DVD, il sera possible de procéder à la création d'une archive tar multi-volume sous la forme de plusieurs fichiers distincts (4 Go chaque maximum) dont chacun d'eux sera gravé sur une support optique.

Warning 64.png
Attention !
Ceci ne constitue pas une bonne pratique en terme de sécurité informatique (confidentialité), surtout si les fichiers constituant l'archive sont lisibles par tout le monde !

Méthode #1 : la méthode interactive

L'idée est d'utiliser tar en spécifiant la création d'une archive multi-volumes (option -M), en spécifiant la taille maximum de chaque volume sous la forme d'un multiple de 1024 octets (4194304*1024 = 4294967296 octets soit 4 Go) ainsi que le nom du fichier contenant la première partie de de la sauvegarde :

Gnome-dev-computer.png
# tar -cMv -f /tmp/home_partie_1.tar --tape-length=4194304 /home

Lorsque les premiers 4 Go seront écrits, tar va afficher un message demandant de lui fournir le volume suivant :

Exemple de création

# tar -cMv -f home_partie_1.tar --tape-length=4194304 /home

/home/user1/.cache/91a3520f-f196-4266-a926-a62538cfdca5
/home/user1/.cache/fcb64b1f-b5d3-40c9-b079-1eec91cd9dc7
/home/user1/.cache/5a478747-4728-41bb-ba34-494215ee03d7
.... beaucoup d'autres fichiers.....
Prepare volume #2 for `home_partie_1.tar' and hit return:


A ce stade, bien que cela ne soit pas explicite, il faut entrer n nom_de_fichier_pour_le_volume_suivant (ou q pour quitter ou ? pour avoir de l'aide sur la syntaxe). Ainsi :

Exemple de création

# tar -cMv -f home_partie_1.tar --tape-length=4194304 /home

/home/user1/.cache/91a3520f-f196-4266-a926-a62538cfdca5
/home/user1/.cache/fcb64b1f-b5d3-40c9-b079-1eec91cd9dc7
/home/user1/.cache/5a478747-4728-41bb-ba34-494215ee03d7
.... beaucoup d'autres fichiers.....
Prepare volume #2 for `home_partie_1.tar' and hit return: n home_partie_2.tar


Et continuer sur ce principe pour chacun des volumes nécessaires subséquents:

Exemple de création

# tar -cMv -f home_partie_1.tar --tape-length=4194304 /home

/home/user1/.cache/91a3520f-f196-4266-a926-a62538cfdca5
/home/user1/.cache/fcb64b1f-b5d3-40c9-b079-1eec91cd9dc7
/home/user1/.cache/5a478747-4728-41bb-ba34-494215ee03d7
.... beaucoup d'autres fichiers.....
Prepare volume #2 for `home_partie_1.tar' and hit return: n home_partie_2.tar
.... beaucoup d'autres fichiers.....
Prepare volume #3 for `home_partie_1.tar' and hit return: n home_partie_3.tar
.... beaucoup d'autres fichiers.....
Prepare volume #4 for `home_partie_1.tar' and hit return: n home_partie_4.tar
.... beaucoup d'autres fichiers.....


S'il y avait 19 Go de données à sauvegarder dans /home, le résultat de l'opération sera 5 fichiers tar nommés home_partie_1.tar à home_partie_5.tar, les quatre premiers ayant une taille de 4 Go, tandis que home_partie_5.tar a une taille légèrement de 3 Go (19 Go - 4*4 Go soit 3 Go).

Méthode #2 : la méthode automatique

Si vous avez une idée du nombre de volumes, il est possible de mettre sur la même ligne de commande le nom des fichiers contenant chacun de ces volumes :

Gnome-dev-computer.png
# tar -cMv -f home_partie_1.tar -f home_partie_2.tar -f home_partie_3.tar -f home_partie_4.tar -f home_partie_5.tar --tape-length=4194304 /home

Vérification de la sauvegarde

Un principe de base en informatique : toujours vérifier ses sauvegardes !

La vérification d'une archive tar multi-volumes est fort similaire à sa création (option -t au lieu de -c) :

Gnome-dev-computer.png
# tar -tMv -f home_partie_1.tar

il faudra alors procéder exactement comme pour la création : lorsque le premier volume aura été vérifié, tar demandera qu'on lui présente le deuxième et il faudra entrer une commande de la forme n nom_de_fichier_pour_le_volume_suivant (là encore q ou ? sont fonctionnels), exactement comme cela a été effectué pour la création.

Il est aussi possible de donner le noms des fichiers de tous les volumes de l'archive tar sur la même ligne de commande pour ne pas que tar les demande :

Gnome-dev-computer.png
# tar -tMv -f home_partie_1.tar -f home_partie_2.tar -f home_partie_3.tar -f home_partie_4.tar -f home_partie_5.tar


Extraction de la sauvegarde

L'extraction est également quasi-identique à la création et la vérification (option -x au lieu de -t ou -c) :

Gnome-dev-computer.png
# tar -xMv -f home_partie_1.tar -C /tmp/test

il faudra alors procéder exactement comme pour la création/vérification : entrer le nom de chacun des volumes sous la forme n nom_de_fichier_pour_le_volume_suivant (là encore q ou ? sont fonctionnels) lorsque tar le demandera.

Il est aussi possible de donner le noms des fichiers de tous les volumes de l'archive tar sur la même ligne de commande pour ne pas que tar les demande :

Gnome-dev-computer.png
# tar -xMv -f home_partie_1.tar -f home_partie_2.tar -f home_partie_3.tar -f home_partie_4.tar -f home_partie_5.tar
Info 64.png
Information !
Il est possible de préciser un répertoire d'extraction en particulier avec l'option -C cependant il faudra inscrire le chemin absolu des noms des fichiers des volumes de l'archive tar

Extraction dans le répertoire /tmp/test (les volumes sont situés dans /srv) :

Gnome-dev-computer.png
# tar -xMv -f /srv/home_partie_1.tar -f /srv/home_partie_2.tar -f /srv/home_partie_3.tar -f /srv/home_partie_4.tar -f /srv/home_partie_5.tar -C /tmp/test

Liens

Se référer à : http://www.gnu.org/software/automake/manual/tar/Multi_002dVolume-Archives.html

Outils personnels