Sophie

Sophie

distrib > * > 2010.0 > * > by-pkgid > a412ceb851151854794ced2a242192bb > files > 2783

howto-html-fr-20080722-1mdv2010.0.noarch.rpm

<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>3. Le script bash</title>
<link rel="stylesheet" href="style.css" type="text/css">
<meta name="generator" content="DocBook XSL Stylesheets V1.64.1">
<link rel="home" href="index.html" title="

    Linux/GNU : aide-mémoire post-installation

">
<link rel="up" href="index.html" title="

    Linux/GNU : aide-mémoire post-installation

">
<link rel="previous" href="ar01s02.html" title="2. Étapes à suivre après l'installation">
</head>
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
<div class="navheader">
<table width="100%" summary="Navigation header">
<tr><th colspan="3" align="center">3. Le script bash</th></tr>
<tr>
<td width="20%" align="left">
<a accesskey="p" href="ar01s02.html">Précédent</a> </td>
<th width="60%" align="center"> </th>
<td width="20%" align="right"> </td>
</tr>
</table>
<hr>
</div>
<div class="sect1" lang="fr">
<div class="titlepage">
<div><div><h2 class="title" style="clear: both">
<a name="le-script"></a>3. Le script bash</h2></div></div>
<div></div>
</div>
<p>

        Le <a href="http://algolog.tripod.com/shivalik.gz" target="_top">script
        bash</a> (shivalik version 1.0) est un programme permettant
        de sauvegarder les informations et les fichiers essentiels.
        Après avoir téléchargé ce script :
    
    </p>
<div class="itemizedlist"><ul type="disc">
<li><p>
    
        Assurez-vous d'être connecté sous le compte
        <tt class="literal">root</tt> ;
        
    </p></li>
<li><p>
    
        Créez un répertoire avec les permissions de l'utilisateur
        <tt class="literal">root</tt>. Disons : <tt class="filename">/root/mon_script</tt> ;
    
    </p></li>
<li><p>
    
        Enregistrez le script <a href="http://algolog.tripod.com/shivalik.gz" target="_top">shivalik.gz</a>
        dans ce répertoire ;
        
    </p></li>
<li><p>
    
        Allez dans ce répertoire avec la commande <b class="userinput"><tt>cd
        /root/mon_script</tt></b>, puis décompressez le script avec
        la commande <b class="userinput"><tt>gunzip shivalik.gz</tt></b> ;
    
    </p></li>
</ul></div>
<div class="important" style="margin-left: 0.5in; margin-right: 0.5in;"><table border="0" summary="Important">
<tr>
<td rowspan="2" align="center" valign="top" width="25"><img alt="[Important]" src="images/important.png"></td>
<th align="left">Important</th>
</tr>
<tr><td colspan="2" align="left" valign="top"><p>

        Vous devez lire l'avertissement donné à la fin du script. Ne
        passez aux étapes suivantes que si vous êtes d'accord avec les
        conditions indiquées dans cet avertissement…

    </p></td></tr>
</table></div>
<div class="itemizedlist"><ul type="disc">
<li><p>

        Pour lancer le script : vous devez le rendre exécutable
        (uniquement par root) avec la commande <b class="userinput"><tt>chmod 700
        shivalik</tt></b> ;

    </p></li>
<li><p>

        Vérifiez que les chemins des divers fichiers qui doivent être
        sauvés sont corrects et conformes à votre installation ;

    </p></li>
<li><p>

        Vous ne pourrez exécuter le script correctement que si vous êtes
        connectés sous le compte <tt class="literal">root</tt>. En effet, un
        grand nombre des fichiers à sauvegarder ne sont accessibles que
        par l'utilisateur <tt class="literal">root</tt>.

    </p></li>
</ul></div>
<p>
    
        Maintenant vous pouvez exécuter le script (sous le compte
        <tt class="literal">root</tt>, ne l'oubliez pas) en lançant la
        commande : <b class="userinput"><tt>./shivalik</tt></b>
        
    </p>
<p>

        Ce script est très documenté. En aucun cas il ne modifiera ni ne
        détruira vos fichiers et vos répertoires. Il va créer une copie
        de sauvegarde bien protégée de quelques informations et fichiers
        essentiels. Le script entier est disponible ci-dessous pour que
        vous puissiez le parcourir et comprendre son fonctionnement. 
        Sentez-vous libre d'ajouter au script des fonctions
        supplémentaires ou des fichiers que vous souhaiteriez voir
        sauvegarder. N'hésitez pas à envoyer un petit mot en anglais à
        l'auteur de ce script (<tt class="email">&lt;<a href="mailto:algolog%20CHEZ%20hd1%20POINT%20vsnl%20POINT%20net%20POINT%20in">algolog CHEZ hd1 POINT vsnl POINT net POINT in</a>&gt;</tt>) pour lui
        indiquer vos modifications.
        
    </p>
<p>
    
        Rappelez-vous que le script <span><b class="command">shivalik</b></span> n'est
        pas un outil destiné à sauvegarder et à restaurer totalement
        votre système. L'idéal étant de faire une copie intégrale de
        votre installation Linux, incluant tous les fichiers et tous les
        répertoires. Ce qui n'est pas toujours possible, nécessaire ou
        conseillé. La seconde meilleure chose étant de sauvegarder les
        informations et les fichiers les plus essentiels. Le script
        <span><b class="command">shivalik</b></span> le fait pour vous. Le script crée le
        répertoire <tt class="filename">/root/postinfo/</tt>, et y stocke les
        informations et fichiers essentiels. Pour être préparé à toute
        éventualité, vous devrez intégralement copier le répertoire
        <tt class="filename">/root/postinfo/</tt> sur un
        disque ou une disquette dès que le script aura été exécuté.
        
    </p>
<p>
    
        <span class="emphasis"><em>Récupération et réparation :</em></span> en cas de
        problème, plus tard, vous pourrez réparer les fichiers
        endommagés en les recopiant depuis le répertoire <tt class="filename">/root/postinfo/</tt>. C'est aussi simple
        que ça.
    
    </p>
<p>
    
        La structure du répertoire <tt class="filename">/root/postinfo/</tt> et les fichiers
        qu'il contient seront comme suit :
     
    </p>
<div class="variablelist"><dl>
<dt><span class="term">
        <tt class="filename">/root/postinfo/summary</tt>
    </span></dt>
<dd><p>
    
        Ce fichier contient un rapport de synthèse de la situation de
        votre système (mémoire, partitions, points de montage,
        utilisation du disque). Ce fichier contient aussi la liste des
        fichiers qui ont été sauvegardés. Il contient enfin des
        informations destinées à l'administrateur comme la date et
        l'heure de la sauvegarde, la version de shivalik utilisée, et
        cætera.
    
    </p></dd>
<dt><span class="term">
        <tt class="filename">/root/postinfo/postinfo.tar.gz</tt>
    </span></dt>
<dd><p>
    
        Contient une copie du précédent postinfo (s'il y en a eu un).
    
    </p></dd>
<dt><span class="term">
        <tt class="filename">/root/postinfo/snapshot.gz</tt>
    </span></dt>
<dd><p>
    
        Ce fichier compressé contient une liste structurée de
        <span class="emphasis"><em>tous</em></span> les fichiers et répertoires de votre
        système Linux. Vous pouvez décompresser ce fichier et utiliser
        un éditeur de texte pour retrouver l'emplacement de n'importe
        quel fichier. Bien sûr, vous ne pourrez retrouver le contenu
        d'un fichier à moins que vous l'ayez sauvegardé explicitement
        ailleurs.
    
    </p></dd>
<dt><span class="term"><tt class="filename">/root/postinfo/shivalik</tt></span></dt>
<dd><p>

        C'est une copie du script shivalik qui a été utilisé pour faire
        la sauvegarde post-installation. Après un incident, lors de la
        récupération, vous pourrez toujours examiner ce script pour voir
        comment la sauvegarde a été faite. Vous aurez toujours une copie
        du script cohérentes avec les fichiers créés par le script.
    
    </p></dd>
<dt><span class="term"><tt class="filename">/root/postinfo/etcfiles/</tt></span></dt>
<dd><p>

        Ce <span class="emphasis"><em>sous-répertoire</em></span> contient la copie d'un
        grand nombre de fichiers essentiels contenus dans le répertoire
        <tt class="filename">/etc/</tt> de votre
        installation Linux. Il contient aussi les copies de divers
        fichiers de configuration contenus dans le répertoire
        <tt class="filename">/etc/</tt>.
        
    </p></dd>
<dt><span class="term"><tt class="filename">/root/postinfo/otherfiles/</tt></span></dt>
<dd><p>

        Ce <span class="emphasis"><em>sous-répertoire</em></span> contient une copie de
        quelques fichiers essentiels (ceux qui ne sont pas dans le
        répertoire <tt class="filename">/etc/</tt> de votre
        installation Linux. Si vous voulez, vous pouvez ajouter
        n'importe quel autre fichier ici, et le sauvegarder
        automatiquement avec les autres.
    
    </p></dd>
</dl></div>
<div class="sect2" lang="fr">
<div class="titlepage">
<div><div><h3 class="title">
<a name="script"></a>3.1. Le script…</h3></div></div>
<div></div>
</div>
<pre class="programlisting">
# ---------------------------------------------------------------------
#                       shivalik (version 1.0)
#                 Adaptation française de Simon Depiets
#
# Lisez d'abord la section AVERTISSEMENT de ce script.
#
# Ce script collecte après installation des informations
# essentielles sur votre système. Il peut aussi être lancé 
# à l'occasion pour rassembler en un endroit unique toutes 
# les informations utiles sur votre installation Linux.
#
# Les données du script seront stockées dans :
# /root/postinfo/
#
# Un rapport de synthèse sera écrit dans :
# /root/postinfo/summary

# Pour le mode d'emploi et les informations associées, consultez :
# http://algolog.tripod.com/postlnx.htm
# ---------------------------------------------------------------------

clear

cat &lt;&lt; EOF

---------------------------------------------------------------
Ce texte est la sortie du script shivalik (version 1.0) de
M. Partha, d'Algologic Research &amp; Solutions.
Pour que ce script fonctionne correctement, vous devez être
connecté sous le compte « root ». Vous devez aussi
lire et accepter les termes et les avertissements donnés dans
la section AVERTISSSEMENT à la fin de ce script.
---------------------------------------------------------------

### ÉTAPE 0 ### Travail préparatoire

Premièrement, nous créons le répertoire /root/postinfo/
si ce n'est pas encore fait
EOF

test ! -d /root/postinfo &amp;&amp; mkdir /root/postinfo

cat &lt;&lt; EOF

Nous sauvegardons la version actuelle de tous les fichiers
contenus dans le répertoire « postinfo »

Mais tout d'abord nous supprimons la version précédente,
c'est-à-dire la version actuelle - 1

EOF

test -e /root/postinfo/oldpostinfo* &amp;&amp; \
    rm -v /root/postinfo/oldpostinfo.tar.gz

echo

# Le fichier oldpostinfo est créé temporairement dans /root ;
# il sera déplacé dans /root/postinfo

tar czvf /root/oldpostinfo.tar.gz /root/postinfo/*

# Vérification du fonctionnement de la compression

if `test -s /root/oldpostinfo.tar.gz` ; then 
    echo "Ancien répertoire postinfo copié dans /root/oldpostinfo.tar.gz"
    ls -l /root/oldpostinfo*
else
    echo "Impossible de sauvegarder oldpostinfo."
    echo "Abandon. Arrêt du script."
    exit 1
fi

# Maintenant nous supprimons tous les fichiers postinfo actuels

rm -rf /root/postinfo/*

# Et nous créons un nouveau fichier de synthèse

echo "shivalik (version 1.0)" &gt; /root/postinfo/summary
echo -n "Rapport créé le : " &gt;&gt; /root/postinfo/summary

date -R &gt;&gt; /root/postinfo/summary

echo
echo "Et maintenant, nous déplaçons le fichier oldpostinfo"
echo "dans le répertoire /root/postinfo/"

mv -v /root/oldpostinfo.tar.gz /root/postinfo
#

# Copie du script schivalik

echo "Charité bien ordonnée commence par soi-même."
echo "Nous faisons une copie du script shivalik."

cat &lt;&lt; EOF &gt;&gt; /root/postinfo/summary
Nous faisons une copie du script shivalik dans /root/postinfo/
EOF


cp -v ./shivalik /root/postinfo/shivalik

# Faisons le point

echo
echo "Contenu du répertoire /root/postinfo à la fin de l'étape 0"

ls -AlR /root/postinfo

echo "Fin de l'"### ÉTAPE 0 ###"
echo
#
#
echo

echo "### ÉTAPE 1 ### Prendre un instantané de votre système"

cat &lt;&lt; EOF &gt;&gt; /root/postinfo/summary

### ÉTAPE 1 ### Un instantané de tous vos répertoires
                et de tous vos fichiers

EOF

cat &lt;&lt; EOF
La première étape est de faire le point sur le contenu
de votre ordinateur. Cela peut prendre plusieurs minutes.
Donc, allez chercher votre tasse à café !
EOF

ls -AlRH / &gt;&gt; /root/postinfo/snapshot

rm -f /root/postinfo/snapshot.gz

gzip /root/postinfo/snapshot

echo "Le petit oiseau va sortir !"
echo "Photo prise"

cat &lt;&lt; EOF &gt;&gt; /root/postinfo/summary
Une liste exhaustive de tous les fichiers a été crée et enregistrée
dans /root/postinfo/snapshot.gz
EOF

ls -l /root/postinfo/snapshot.gz &gt;&gt; /root/postinfo/summary

# Faisons le point à la fin de cette étape

echo
echo "Contenu du répertoire /root/postinfo à la fin de cette étape"

ls -l /root/postinfo

echo "Fin de l'"### ÉTAPE 1 ###"
echo
#
#

echo
echo "### ÉTAPE 2 ### Informations sur le système"

cat &lt;&lt; EOF &gt;&gt; /root/postinfo/summary

### ÉTAPE 2 ### Informations sur le système

EOF

echo "Récolte des informations sur le système"

echo "... sur la mémoire"
echo "---- cat /proc/meminfo ---------" &gt;&gt; /root/postinfo/summary
cat /proc/meminfo &gt;&gt; /root/postinfo/summary

echo "... sur les partitions et les points de montage"
echo "---- cat /proc/partitions ------" &gt;&gt; /root/postinfo/summary
cat /proc/partitions &gt;&gt; /root/postinfo/summary

echo "... sur l'espace disque utilisé"
echo "---- df ------------------------" &gt;&gt; /root/postinfo/summary
df &gt;&gt; /root/postinfo/summary

echo "... sur les modules"
echo "---- cat /proc/modules ---------" &gt;&gt; /root/postinfo/summary
cat /proc/modules &gt;&gt; /root/postinfo/summary

# Faisons le point à la fin de cette étape

echo
echo "Contenu du répertoire /root/postinfo à la fin de l'ÉTAPE 2"
ls -AlR /root/postinfo
echo "Fin de l'"### ÉTAPE 2 ###"
echo
#
#
cat &lt;&lt; EOF

### ÉTAPE 3 ### Maintenant nous copions quelques fichiers
                importants du répertoire « /etc ».

Cette section pourrait avoir besoin d'être adaptée à vos besoins.
Cela dépend de l'installation que vous avez faite, de la distribution
que vous avez utilisé et des options que vous avez choisies durant 
l'installation.
EOF

cat &lt;&lt; EOF &gt;&gt; /root/postinfo/summary

### ÉTAPE 3 ### Maintenant nous sauvegardons quelques fichiers
                importants du répertoire /etc
EOF

test ! -d /root/postinfo/etcfiles \
    &amp;&amp; mkdir /root/postinfo/etcfiles

echo "... sauvegarde de XF86Config -- \
votre fichier de configuration de XWindows"

cp /etc/XF86Config /root/postinfo/etcfiles

echo "copie /etc/XF86Config dans /root/postinfo/" \
    &gt;&gt; /root/postinfo/summary

echo "... sauvegarde du fichier /etc/fstab"
cp /etc/fstab  /root/postinfo/etcfiles
echo "copie /etc/fstab dans /root/postinfo/" \
    &gt;&gt; /root/postinfo/summary

echo "... sauvegarde du fichier /etc/profile"
cp /etc/profile  /root/postinfo/etcfiles
echo "copie /etc/profile dans /root/postinfo/" \
    &gt;&gt; /root/postinfo/summary

echo "... sauvegarde du fichier /etc/profile.local"
cp /etc/profile.local  /root/postinfo/etcfiles
echo "copie /etc/profile.local dans /root/postinfo/" &gt;&gt; /root/postinfo/summary

echo "... sauvegarde des fichiers /etc/*conf"
cp /etc/*conf /root/postinfo/etcfiles

echo "... sauvegarde des fichiers /etc/*config"
cp /etc/*config /root/postinfo/etcfiles

cat &lt;&lt; EOF &gt;&gt; /root/postinfo/summary
Les fichiers suivants ont été copiés de /etc vers /root/postinfo/etcfiles
EOF

echo "/etc/*conf" &gt;&gt; /root/postinfo/summary
echo "/etc/*config" &gt;&gt; /root/postinfo/summary

# Faisons le point à la fin de cette étape

echo
echo "Contenu de /root/postinfo à la fin de l'ÉTAPE 3"

ls -AlR /root/postinfo

echo "Fin de l'"### ÉTAPE 3 ###"
echo
#
#

cat &lt;&lt; EOF

### ÉTAPE 4 ### Maintenant nous sauvegardons d'autres fichiers importants

Cette section à besoin d'être personnalisée selon
l'installation que vous avez faite, la distribution utilisée
et les options choisies durant l'installation
Cette partie du script a été personnalisée pour SuSe 7.1
EOF

cat &lt;&lt; EOF &gt;&gt; /root/postinfo/summary

### ÉTAPE 4 ### Maintenant nous copions quelques autres
                fichiers importants
                
dans /root/postinfo/otherfiles
Vous pouvez ajouter d'autres fichiers à copier à cette étape
EOF

test ! -d /root/postinfo/otherfiles \
    &amp;&amp; mkdir /root/postinfo/otherfiles

ls -l /root/postinfo/

echo "... sauvegarde de /etc/init.d/boot.local --"
cp /etc/init.d/boot.local /root/postinfo/otherfiles
echo "copie de /etc/init.d/boot.local dans \
/root/postinfo/otherfiles" &gt;&gt; /root/postinfo/summary

echo "... sauvegarde de /etc/init.d/halt.local --"
cp /etc/init.d/halt.local /root/postinfo/otherfiles
echo "copie de /etc/init.d/halt.local vers \
/root/postinfo/otherfiles" &gt;&gt; /root/postinfo/summary

# faisons le point à la fin de cette étape

echo
echo "Contenu de /root/postinfo à la fin de l'ÉTAPE 4"

ls -AlR /root/postinfo

echo "Fin de l'"### ÉTAPE 4 ###"
echo

echo
echo "### ÉTAPE 999 ### Emballage, nettoyage"

cat &lt;&lt; EOF &gt;&gt; /root/postinfo/summary

### ÉTAPE 999 ### Emballage, nettoyage, bilan
EOF

echo "résumé, nettoyage"

# Pour des raisons de sécurité nous rendons /root/postinfo
# inaccessible et invisible aux non-root

chmod 700 /root/postinfo
chmod 700 /root/postinfo/etcfiles
chmod 700 /root/postinfo/otherfiles
chmod 700 /root/postinfo/*
chmod 700 /root/postinfo/etcfiles/*
chmod 700 /root/postinfo/otherfiles/*

echo "Ceci est le contenu de /root/postinfo" &gt;&gt; /root/postinfo/summary
ls -AlR /root/postinfo &gt;&gt; /root/postinfo/summary
echo "###### FIN #####" &gt;&gt; /root/postinfo/summary

# faisons le point à la fin de cette étape

echo
echo "Contenu de of /root/postinfo à la fin de l'ÉTAPE 999"
ls -AlR /root/postinfo

cat &lt;&lt; EOF
Fin de l\'### ÉTAPE 999 ###

###### THE END #####

IMPORTANT : Vous devez maintenant copier tous les fichiers
de /root/postinfo dans un endroit sûr, de préférence sur un disque
différent ou sur un support de sauvegarde extractible.

Vous trouverez un rapport de synthèse de cette procédure dans
/root/postinfo/summary

Vous trouverez la précedente version de ce rapport (s'il y en a une)
dans /root/postinfo/oldpostinfo.tar.gz
EOF

#---------------------------------------------------------
#        AVERTISSEMENT AVERTISSEMENT AVERTISSEMENT 
#                shivalik (ver. 1.0)
#
# Ce script est mis à votre disposition sans aucune
# garantie ou assurance de performance ou de sa capacité
# à remplir une tâche quelconque.
#
# Sachez que vous utilisez ce script de par votre propre volonté et 
# votre propre initiative et à vos risques et perils.
#
# Vous trouverez la dernière version de ce script, et des informations
# liées à ce script sur : http://algolog.tripod.com/postlnx.htm
#
# Le copyright et tous autres droits sont réservés par
# le Dr. S. Parthasarathy (algolog CHEZ hd1 POINT vsnl POINT net POINT in)
#--------------------------------------------------------

</pre>
</div>
</div>
<div class="navfooter">
<hr>
<table width="100%" summary="Navigation footer">
<tr>
<td width="40%" align="left">
<a accesskey="p" href="ar01s02.html">Précédent</a> </td>
<td width="20%" align="center"><a accesskey="u" href="index.html">Niveau supérieur</a></td>
<td width="40%" align="right"> </td>
</tr>
<tr>
<td width="40%" align="left" valign="top">2. Étapes à suivre après l'installation </td>
<td width="20%" align="center"><a accesskey="h" href="index.html">Sommaire</a></td>
<td width="40%" align="right" valign="top"> </td>
</tr>
</table>
</div>
</body>
</html>