Vous êtes sur la page 1sur 5

Le systme d'exploitation GNU-Linux/Le backup : t...

http://fr.wikibooks.org/wiki/Le_systme_d'exploitat...

Un livre de Wikibooks. Rgulirement, il vous faudra archiver des informations, en particulier des donnes utilisateurs. Pour cela, le systme GNU/Linux intgre 2 outils: TAR et GZIP. Comme vous allez le voir, ces 2 outils sont complmentaires dans le procssus d'archivage des donnes, ou backup.

Archiver des donnes avec tar


Le nom de cette commande vient du systme de sauvegarde sur bande: Tape ARchive. Le principe est simple : prendre un grand nombre de fichiers (et/ou de rpertoires) et les regrouper en un seul gros. tar est une commande rcursive. Elle va archiver toute l'arborescence en partant du rpertoire que vous lui spcifiez.

Archivage
Syntaxe :
$ tar cf <nom du fichier tar> <nom du rpertoire archiver>

Si vous rajoutez v aprs c, la commande va afficher l'cran toutes ses actions. Exemple:
# tar cvf etc.tar /etc tar: Removing leading `/' from member names /etc # ls -l etc.tar -rw-r--r-- 1 root root 2829320 Nov 12 18:41 etc.tar

Note: Comme vous le voyez sur notre exemple, la commande tar retire le / du rpertoire parent. En faisant cela, elle vite les crasements de fichiers dans le cas ou vous restituez votre fichier au mme endroit.

Test de l'archive
Une fois l'archivage effectu, vous pouvez vrifier votre archive avec la commande :
$ tar tf <nom du fichier tar>

Restitution
# tar xf <nom du fichier tar>

1 of 5

06/12/2012 16:13

Le systme d'exploitation GNU-Linux/Le backup : t...

http://fr.wikibooks.org/wiki/Le_systme_d'exploitat...

De mme, si vous rajoutez v aprs x, la commande affichera les informations. Exemple:


# tar xvf etc.tar etc/ etc/GNUstep/ etc/GNUstep/Defaults/ etc/GNUstep/Defaults/WMGLOBAL etc/GNUstep/Defaults/WMRootMenu etc/GNUstep/Defaults/WMState ...

Compresser un fichier avec gzip


La commande gzip est un compresseur de donnes. Il va partir d'un fichier et compresser l'information pour en diminuer la taille.

Compresser un fichier
$ gzip <nom du fichier compresser>

Exemple:
# ls -l images.tar* -rw-r--r-- 1 root # gzip images.tar # ls -l images.tar* -rw-r--r-- 1 root

root

10240 Nov

8 20:00 images.tar

root

4662 Nov

8 20:00 images.tar.gz

En utilisant ls -l , on voit trs bien la taille du fichier images non compress, qui est pass de 10240 octets 4662 octets.

Dcompresser un fichier
$ gzip -d <nom du fichier gzip>

Exemple:
# ls -l images.tar* -rw-r--r-- 1 root root # gzip -d images.tar.gz # ls -l images.tar* -rw-r--r-- 1 root root

4662 Nov

8 20:00 images.tar.gz

10240 Nov

8 20:00 images.tar

2 of 5

06/12/2012 16:13

Le systme d'exploitation GNU-Linux/Le backup : t...

http://fr.wikibooks.org/wiki/Le_systme_d'exploitat...

Combiner tar et gzip


On peut combiner tar et gzip pour archiver et compresser en une action (option z) :
# tar cvzf <nom du fichier archiv compress>.tar.gz <nom du rpertoire archiver et compresser>

Les alternatives gzip


bzip2
bzip2 est un autre algorithme de compression. Il est plus performant mais beaucoup moins rapide que gzip. Pour compresser un fichier avec bzip2 :
# bzip2 unfichier

Pour le dcompresser :
# bzip2 -d unfichier.bz2

Tout comme gzip, on peut indiquer tar d'utiliser bzip2 pour compresser l'archive (option j):
# tar cjf cible.tar.bz2 /repasauver

Comparaison des logiciels de compression


Comparaison des logiciels de compression (http://rlwpx.free.fr/WPFF/comploc.htm)
[archive ]

3 of 5

06/12/2012 16:13

Le systme d'exploitation GNU-Linux/Le backup : t...

http://fr.wikibooks.org/wiki/Le_systme_d'exploitat...

Un shell script de sauvegarde journalire de /etc


Voici un shell script qui permet de sauvegarder quotidiennement le rpertoire /etc :
#!/bin/bash # # Ne pas oublier : # - de creer le repertoire /backup : mkdir /backup # - de rendre ce script executable : chmod +x backup_etc # # Tester le script une fois manuellement : ./backup_etc # # Le rajouter dans la crontab

DATEJOUR=$(date +"%Y-%m-%d-%H-%M-%S") REPABACKUPER="/etc" REPBACKUP="/backup" NOMFIC=$REPBACKUP/etc-$DATEJOUR.tgz

tar czf $NOMFIC $REPABACKUPER

Les sauvegardes incrmentales


La commande find permet de trouver des fichiers correspondants des critres donns. On peut par exemple connatre la liste des fichiers modifis depuis 1 jour :
# find / -mtime -1 -type f

En combinant la commande find et la commande tar, on peut ainsi facilement sauvegarder les fichiers modifis depuis la veille, et ainsi raliser une sauvegarde incrmentale. La commande suivante retourne la liste de tous les fichiers du systme modifis depuis hier (en excluant les fichiers contenus dans /proc, /dev et /sys), et stocke la liste de ces fichiers dans le fichier /tmp/fic_du_jour:
# find / \( -path /proc -o -path /dev -o -path /sys \) -prune -o -mtime -1 -type f -print > /tmp/fic_du_jour

On peut ensuite appeller la commande tar avec l'option -T qui permet d'indiquer la liste des fichiers archiver :
# tar cz -T /tmp/fic_du_jour -f backup.tgz

4 of 5

06/12/2012 16:13

Le systme d'exploitation GNU-Linux/Le backup : t...

http://fr.wikibooks.org/wiki/Le_systme_d'exploitat...

Grce aux tubes (pipe), on peut s'affranchir de passer par un fichier temporaire et directement enchaner les deux commandes :
# find / \( -path /proc -o -path /dev -o -path /sys \) -prune -o -mtime -1 -type f -print | tar cz -T - -f backup.tgz

Toujours grce aux tubes, on peut dcouper le fichier obtenu en plusieurs fichiers d'une taille donne :
# find / \( -path /proc -o -path /dev -o -path /sys \) -prune -o -mtime -1 -type f -print | tar cz -T - | split - -b 5m backup_ # ls -lh backup_* -rw-r--r-- 1 root -rw-r--r-- 1 root -rw-r--r-- 1 root -rw-r--r-- 1 root

root root root root

5,0M 5,0M 5,0M 3,5M

2007-12-06 2007-12-06 2007-12-06 2007-12-06

14:30 14:30 14:30 14:30

backup_aa backup_ab backup_ac backup_ad

Pour re-assembler les fichiers dcoups, on utilise la commande cat :


# cat backup_* > backup.tgz

Les logiciels spcialiss


Rcupre de http://fr.wikibooks.org /w/index.php?title=Le_systme_d%27exploitation_GNU-Linux/Le_backup_:_tar_et_gzip& oldid=374754

Menu de navigation
Dernire modification de cette page le 4 aot 2012 21:24. Les textes sont disponibles sous licence Creative Commons attribution partage lidentique ; dautres termes peuvent sappliquer. Voyez les termes dutilisation pour plus de dtails.

5 of 5

06/12/2012 16:13

Vous aimerez peut-être aussi