Salut Alain,

Je rajoute ma couche pour compléter ce qui a été dit par mes prédécesseurs

Je te présenterai succintement quatre thèmes et terminerai quelques conseils de bon sens. Voici les thèmes :

1- comment faire une sauvegarde/restauration avec l'outil tar

2- comment faire une sauvegarde/restauration avec l'outil cpio

3- comment faire des sauvegardes totales ou incrémentales ?

4- l'étonnant outil dd

Allons-y c'est parti :-)

1- l'outil tar

Pour sauvegarder : tar cvfz arch.tar liste_­fichiers_­ou_­répertoires

où arch.tar.gz est le fichier contenant ta sauvegarde compressée et liste_machin peut être un simple répertoire et il descendra dans toute l'arborescence

Pour restaurer une archive : tar xzvf arch.tar.gz

Pour visualiser le contenu d'une archive sans la restaurer : tar tzvf arch.tar.gz

Dans les commandes ci-dessus tu peux remplacer le z par un j pour avoir une meilleure compression utilisant bzip2. Dans ce cas il vaut mieux renommer ton fichier avec une extension bz2 à la place de gz.

Tu peux aussi ne pas compresser du tout en enlevant les options z ou j. Pour être cohérent enlever l'extension se trouvant après le .tar

2- l'outil cpio

cpio est un outil très répandu dans les systèmes unix. Parfois, dans des situations ou les ressources sont limitées, on trouve cpio mais pas tar, c'est pourquoi il peut être intéressant de le connaître. Cpio est également intimmement liée dans son fonctionnement avec la commande find. Il faut donc connaître celle-ci pour utiliser celle-là.

Cpio fonctionne selon trois modes que voici :

2.1- Mode copy­Out ou sauvegarde : find rep critères | cpio ­o >archive.cpio

Ton archive se trouve dans le fichier archive.cpio. Tu as remarqué le pipe et la redirection de stdout ...

2.2- Mode copy­In ou restauration : cpio ­-i <archive.cpio

2.3- Mode copy­Pass ou combinaison des deux modes précédents

find rep critères | cpio ­p repertoire­_destination

C'est une sorte de duplication de fichiers un peu à la manière de "cp -r" mais qui prend son sens avec toutes les options de find.

3- sauvegarde totale ou incrémentale

Les admin système parlent ici de stratégie de sauvegarde. Sans entrer dans détails ennuyeux, l'idéal est d'effectuer une sauvegarde totale de tous les fichiers. Seulement voilà : cela peut prendre des fois un temps trop important ou exiger plusieurs médias de sauvegardes (cartouches, cd, etc.) et donc des interventions de l'administrateur à des heures tardives. D'où l'idée de ne sauvegarder que ce qui a été modifié et laisser la grosse sauvegarde pour le weekend par exemple. C'est une stratégie parmi d'autres. Il va de soit également que si on fait une sauvegarde Totale le weekend et 5 incrémentales durant la semaine, la restauration devra suivre l'ordre chronologique des sauvegardes : d'abord la plus ancienne puis de proche en proche jusqu'à la sauvegarde la plus récente.

Dans la pratique voici comment on procède :

– sauvegarde totale avec tar : utiliser les options cvfz

– sauvegarde totale avec cpio ­: utiliser le mode copyOut

- sauvegarde incrémentale (juste les modifs) avec tar : utiliser par exemple les options cvfzN '2008-09-12' pour sauvegarder ce qui est plus récent que le 12 septembre. Honnêtement, cette option ne marche pas chez moi. Systématiquement, tar me refuse tous les formats de date que je lui fourni et les remplace par le 13 décembre 1901 ! Si quelqu'un a une solution, je suis preneur. Merci.


– sauvegarde incrémentale avec cpio : find rep ­mtime ­1 | cpio ­o
Voir les options de find. La commande ci-dessous extrait par exemple les fichiers modifiés il y a un jour, c'est-à-dire la veille. Une plus +1 au lieu de 1 signifie plus d'une jour, c'est-à-dire 2 jours ou plus. -1 signifie hier ou aujourd'hui.


4- disk dump : dd

Je termine avec cet outil que j'adore et qui permet d'effectuer des sauvegardes bit à bits d'une disquette, d'un CD, du MBR, de toute une partition peut importe ce qu'elle contient, des données, un autre OS, etc. Voici sa syntaxe simple d'expression et redoutable d'efficacité (c'est une définition de la beauté en informatique :-) :

dd if=infile of=outfile bs=taille count=n

où if=input file, of=output file, bs=block size. Donc cette commande bête et disciplinée copie n blocs d'une taille donnée de l'emplacement if vers of.

Voici quelques exemples typiques (tous ce qui suit s'effectue en root) :

dd if=/dev/hda of=mbr.sav bs=512 count=1

permet de sauvegarder son mbr dans un fichier. La restauration du dit mbr s'effectue par :

dd if=mbr.sav of=/dev/hda bs=512 count=1

Systématiquement, avec dd, restaurer une sauvegarde revient à effectuer exactement la même commande en prenant soin d'échanger le contenu de if et of. C'est très élégant quand on écrit des scripts.

dd if=/dev/fd0 of=dsq.img permet de créer l'image d'une disquette quelque soit son contenu. Inutile de préciser bs et count, dd se débrouille très bien sans.

dd if=/dev/cdrom of=image.iso bs=1M count=604 permet de créer une image d'un CD contenant 604 Mo de données

dd if=/dev/hdb of=/disq_alterne/disq.img bs=1G count=45
permet de créer une image de tout un disque de 45 Go dans un fichier se trouvant sur un disque alternatif. Le disque ainsi cloné pouvant contenir une partition linux et une autre windows, le tout paramétré et on souhaite le dupliquer sur n machines. C'est peu-être ainsi que fonctionnent les outils de réplication de systèmes.

Avant de terminer quelques menus conseils à propos de la sauvegarde de vos systèmes :

- tester toujours ses commandes et bien vérifier qu'elle font bien ce que l'on veut. Souvent des syntaxes différentes réservent des surprises. Typiquement l'option N de tar me sauvegarde systématiquement ce que j'aurais fait depuis 1901. On ne peut pas dire que c'est une sauvegarde incrémentale à moins que vous soyez un highlander vivant des siècles ou un petit homme vert ayant roulé sa bosse dans la galaxie depuis quelques milléaires :-)

- si vous faites une sauvegarde avec tar ou cpio sur une partition contenant des fichiers gérés par des services tournant sur le système (typiquement /var), certains fichiers risquent d'être inaccessibles pour tar ou cpio et par conséquent ne seront pas inclus dans votre sauvegarde. Une vraie sauvegarde totale s'effectue en mode mono utilisateur avec un minimum de services en marche. Evidemment, un outil comme dd ignore totalement ce qui tourne au dessus mais ce n'est pas un vrai outil de sauvegarde en dehors des exemples cités ci-dessus.

- si vos commandes de sauvegardes tournent dans un script, consulter réglièrement le /var/log/messages ou la sortie erreur pour s'assurer que tout va bien. Il ne faut pas se rendre compte le jour d'un crash système que systématiquement vos sauvegardes loupent la moitié de vos fichiers ou encore vous sauvegardent le noyau linux et ignorement superbement vos fichiers de config que vous avez sué pour les régler à votre convenance.

Cordialement
Tarik
_______________________________________________
Liste de diffusion CarrefourBLinuX 
    [email protected]
    http://lists.freearchive.org/mailman/listinfo/carrefourblinux
Pour s'inscrire par courriel : 
    'mailto:[EMAIL PROTECTED]'
Pour se retirer de la liste par courriel : 
    'mailto:[EMAIL PROTECTED]'

Archives : http://lists.freearchive.org/pipermail//carrefourblinux
Anciennes archives (Yahoogroupes) :
    http://fr.groups.yahoo.com/group/carrefourblinux/messages
Rechercher : http://lists.freearchive.org/cgi-bin/search.cgi

Signets : http://fr.groups.yahoo.com/group/carrefourblinux/links/
Fiches EDU : http://blinuxwiki.pbwiki.com/FichesEdu

Répondre à