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 copyOut 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 copyIn ou restauration : cpio -i <archive.cpio
2.3- Mode copyPass 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