Le sam 19/07/2003 � 18:29, AMORE Rosaire a �crit :
> on4hu a �crit :
> > Bonjour Guy
> > Je n'ai pas de r�ponse mais au contraire une question comment
> > refaire la restauration de cette sauvegarde?
> > la r�ponse que vous demandez m' int�resse aussi
> > en plus elle permet la sauvegarde de la partition Windows
> > Linux au secours de Windows en sorte !!
> 
> Ce qui peut se faire aussi par dd.
> N�anmoins, je suis aussi int�ress� par de la sauvegarde multi volume. Ce 
> que je ne sais pas faire (existe-ce?) non plus par dd.
> Rosaire
> 

Bonjour a tous, 
voici comment je proc�de pour faire des sauvegarde multivolume avec tar
et gzip. 
heu l'explication est un peut longue parce qu'elle est faite pour une
personne qui d�butait et j'ai la flemme de faire une version courte ;o) 
mais vous inqui�t� pas c'est pas tr�s compliquer y a juste une bidouille
pour expliquer a tar qu'il faut qu'il utiliser des fichiers diff�rent et
pas toujours le m�me nom comme il s'y attend.... 
enfin bon voil� les scripts et la doc 
A+ 
franck

Pour faire des sauvegarde dans plusieurs fichiers de taille fixe 
j'utilise l'option "M" 'multivolume' de la commande tar
d'autre par j'ai cr�� un script qui change le nom de la sauvegarde a
chaque volume.

l'arborescence du  dossier de sauvegarde est la suivante :

sauvegarde <-- dossier contenant les sauvegarde
        |
        |-script  <-- dossier contenant les script
        |       |-chgnom_etzip
        |       |-nbfichsauve.txt
        |       |-nbfichrestaure.txt
        |       |-restaure
        |       |-sauve
        |       |-unzip_et_renome
        |
        |-restaure <-- dossier contenant les fichiers restaur�s

le script "sauve" me permet de sauvegarder les donner qui se trouve 
dans mon "home" dans un dossier wav 
Pour sauvegarder d'autre dossier il faut remplacer /home/franck/wav/*
par le chemin du dossier a sauvegarde dans ce script.
voici son contenu :
#!/bin/bash
# fichier "sauve" ( a rendre executable )

echo 0 >nbfichsauve.txt

tar -c -v -L 600000  -M -F ./chgnom_etzip -f savwav.tar
/home/franck/wav/*

./chgnom_etzip
exit

je commence par remettre � z�ro le nombre de fichier que contient ma
sauvegarde ( puisse que on commence un nouvelle)
le fichier nbfichsauve.txt contient juste un nombre.
puis la commande tar cr�e un fichier savwav.tar dans le dossier
sauvegarde/script. 
D�s que se fichier atteind la taille d'environ 600Mo ( 600000 Ko)
le script chgnom_etzip et execut� voici son contenu :

#!/bin/bash
# fichier "chgnom_etzip" ( a rendre executable )
 
i=`cat nbfichsauve.txt`;
suffix=.gz;
name=`ls sav*`; 

gzip -S $suffix $name
mv $name$suffix ../$i-$name$suffix;     

echo $i $name;
let i=i+1;
echo $i >nbfichsauve.txt;

je r�cup�re le num�ro du fichier de sauvegarde dans i
(i=`cat nbfichsauve.txt`)
il faut que le fichier cr�� par la commande tar commence par les 3
lettre "sav" ( sinon changer sur la ligne ls sav*)
car je r�cup�re son nom par la commande "ls sav*"
je gzip ce fichier car tar ne peut pas faire d'archive compresse
multivolume
un fois compresse je d�place le fichier dans le dossier sauvegarde en
lui ajoutant un nombre (i) et - devant pour le diff�rencier du suivant
et � la fin ".gz" pour montrer qu'il est gzip�.
enfin j'incr�mente i et je le sauve dans le fichier nbfichsauve.txt

Ensuite la commande tar continu a cr�� le volume suivant et si il
d�passe 600Mo le script "chgnom_etzip" et a nouveau ex�cut�.
lors de la cr�ation du dernier volume le script "chgnom_etzip" n'est pas
ex�cut� par la commande tar car le dernier volume est toujours plus
petit que 600Mo.
Je l'ai donc ajout� apr�s la commande tar dans le script "sauve"

D'autre par il est possible de cr�er des image cd avec mkisofs en
ajoutant un truc du genre :

cd ..
for name in `ls *.gz`
do
        mkisofs -R -o $name.iso $name
done

� la fin du script "sauve" ( avant exit).
Enfin c'est a v�rifier j'ai pas test� cette partie
faut faire attention au dossier dans le quel on se trouve.
D'autre part il y a s�rement moyen d'�viter de cr�er un fichier
contenant le nb de fichier de sauvegarde en utilisant une variable
d'environnement ...

voila pour la sauvegarde 


la restauration se fait sur le m�me principe :

le script "restaure" est pr�vu pour �crire les donn�e dans le dossier
restaure qui se trouve dans le dossier sauvegarde  voici son contenu :

#!/bin/bash
# fichier "restaure" ( � rendre ex�cutable )

echo "0" >nbfichrestaure.txt;
./unzip_et_renome
cd ../restaure
tar -x -v -M -F ../script/unzip_et_renome -f savwav.tar 

rm -f savwav.tar
exit

tout d'abord je remet a z�ro le nombre de fichier restaur�.
comme nbfichsauve.txt, nbfichrestaure.txt contient juste un nombre et
peut s�rement �tre remplac� par une variable d'environnement.
ensuite je lance le script "unzip_et_renome" dont voici le contenu :

#!/bin/bash
# fichier "unzip_et_renome" ( � rendre ex�cutable )

i=`cat ../script/nbfichrestaure.txt`;

name=`ls ../$i-*.gz`;

echo "$name";

gunzip -c $name > ../restaure/savwav.tar

let i=i+1;

echo $i >../script/nbfichrestaure.txt;


Ce script r�cup�re dans i le num�ro du fichier a restaur�
 (i=`cat ../script/nbfichrestaure.txt`;)
puis il r�cup�re le nom du fichier a restaure qui est dans le dossier
"sauvegarde"
il affiche le nom ( pour faire patienter ;o) )
puis il d�zip le fichier de sauvegarde le renomme en  savwav.tar 
et le copie dans le dossier "restaure"
puis il incr�mente la variable i et la sauve dans le fichier
nbfichrestaure.txt

ensuite on revient dans le script "restaure" et
c'est la commande tar qui est ex�cut� apr�s c'est plac� dans le dossier
"restaure"

l'option -M de la commande tar lui signale que c'est un archive
multivolume
l'option -F lui indique quel script il faut ex�cuter apr�s chaque
volume.

la commande tar commence par d�s-archive les fichier savwav.tar dans le
dossier en cours qui est le dossier restaure ( cd ../restaure) 
lorsqu'elle a fini avec le premier volume elle attend le suivant dans le
fichier savwav.tar mais avant elle lance le script
unzip_et_renome qui comme on l'a vue au dessus prend le fichier de
sauvegarde dont le num�ro se trouve dans le fichier nbfichrestaure.txt,
le d�zip le renomme savwav.tar et le copie dans le dossier "restaure"
lorsque le script unzip_et_renome est termin� la commande tar poursuit
son ex�cution et trouve bien comme elle s'y attende le volume suivant
dans le fichier savwav.tar 
( puis qu'il a �t� remplac� par la script unzip_et_renome). 
la restauration continue comme �a jusqu'au dernier fichier de
sauvegarde. 
La commande tar n'efface pas le fichier savwav.tar lorsqu'elle a fini de
restaurer donc je le fait a la fin du script "restaure"

voil� pour la restauration. 
je pense qu'il est possible de ne restaurer que certain fichier en
ajoutant leur nom en param�tre � la commande tar dans le script restaure
mais j'ai pas essay�
Donc se script restaure TOUTE la sauvegarde dans le dossier
"sauvegarde/restaure" 
il faut pr�voir la place !!!! 
Ont peut soit modifier le script pour qu'il restaure ailleurs
soit ( ce que j'utilise)
monter une partition dans le dossier "restaure" 
faire la restauration 
puis la d�monter et la remonter ailleurs.....

Pour ex�cuter la sauvegarde ou la restauration il faut :

aller dans le dossier script (faire cd sauvegarde/script)
puis lancer le script en tapant :
./sauve pour la sauvegarde 
./restaure pour la restauration

les sortie des diverse commande des scripts peuvent bien sur �tre
redirig�es dans un fichier de log
en ajoutant :
>> nomfichier.log 
� la fin de chaque ligne ex�cutant une commande (tar gzip gunzip et
echo)

voil� c'est fini



Vous souhaitez acquerir votre Pack ou des Services MandrakeSoft?
Rendez-vous sur "http://www.mandrakestore.com";

Répondre à