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"