Le script bash (shivalik version 1.0) est un programme permettant de sauvegarder les informations et les fichiers essentiels. Après avoir téléchargé ce script :
Assurez-vous d'être connecté sous le compte root ;
Créez un répertoire avec les permissions de l'utilisateur root. Disons : /root/mon_script ;
Enregistrez le script shivalik.gz dans ce répertoire ;
Allez dans ce répertoire avec la commande cd /root/mon_script, puis décompressez le script avec la commande gunzip shivalik.gz ;
![]() |
Important |
|---|---|
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… | |
Pour lancer le script : vous devez le rendre exécutable (uniquement par root) avec la commande chmod 700 shivalik ;
Vérifiez que les chemins des divers fichiers qui doivent être sauvés sont corrects et conformes à votre installation ;
Vous ne pourrez exécuter le script correctement que si vous êtes connectés sous le compte root. En effet, un grand nombre des fichiers à sauvegarder ne sont accessibles que par l'utilisateur root.
Maintenant vous pouvez exécuter le script (sous le compte root, ne l'oubliez pas) en lançant la commande : ./shivalik
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 (<algolog CHEZ hd1 POINT vsnl POINT net POINT in>) pour lui indiquer vos modifications.
Rappelez-vous que le script shivalik 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 shivalik le fait pour vous. Le script crée le répertoire /root/postinfo/, et y stocke les informations et fichiers essentiels. Pour être préparé à toute éventualité, vous devrez intégralement copier le répertoire /root/postinfo/ sur un disque ou une disquette dès que le script aura été exécuté.
Récupération et réparation : en cas de problème, plus tard, vous pourrez réparer les fichiers endommagés en les recopiant depuis le répertoire /root/postinfo/. C'est aussi simple que ça.
La structure du répertoire /root/postinfo/ et les fichiers qu'il contient seront comme suit :
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.
Contient une copie du précédent postinfo (s'il y en a eu un).
Ce fichier compressé contient une liste structurée de tous 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.
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.
Ce sous-répertoire contient la copie d'un grand nombre de fichiers essentiels contenus dans le répertoire /etc/ de votre installation Linux. Il contient aussi les copies de divers fichiers de configuration contenus dans le répertoire /etc/.
Ce sous-répertoire contient une copie de quelques fichiers essentiels (ceux qui ne sont pas dans le répertoire /etc/ de votre installation Linux. Si vous voulez, vous pouvez ajouter n'importe quel autre fichier ici, et le sauvegarder automatiquement avec les autres.
# ---------------------------------------------------------------------
# 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 << EOF
---------------------------------------------------------------
Ce texte est la sortie du script shivalik (version 1.0) de
M. Partha, d'Algologic Research & 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 && mkdir /root/postinfo
cat << 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* && \
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)" > /root/postinfo/summary
echo -n "Rapport créé le : " >> /root/postinfo/summary
date -R >> /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 << EOF >> /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 << EOF >> /root/postinfo/summary
### ÉTAPE 1 ### Un instantané de tous vos répertoires
et de tous vos fichiers
EOF
cat << 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 / >> /root/postinfo/snapshot
rm -f /root/postinfo/snapshot.gz
gzip /root/postinfo/snapshot
echo "Le petit oiseau va sortir !"
echo "Photo prise"
cat << EOF >> /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 >> /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 << EOF >> /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 ---------" >> /root/postinfo/summary
cat /proc/meminfo >> /root/postinfo/summary
echo "... sur les partitions et les points de montage"
echo "---- cat /proc/partitions ------" >> /root/postinfo/summary
cat /proc/partitions >> /root/postinfo/summary
echo "... sur l'espace disque utilisé"
echo "---- df ------------------------" >> /root/postinfo/summary
df >> /root/postinfo/summary
echo "... sur les modules"
echo "---- cat /proc/modules ---------" >> /root/postinfo/summary
cat /proc/modules >> /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 << 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 << EOF >> /root/postinfo/summary
### ÉTAPE 3 ### Maintenant nous sauvegardons quelques fichiers
importants du répertoire /etc
EOF
test ! -d /root/postinfo/etcfiles \
&& 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/" \
>> /root/postinfo/summary
echo "... sauvegarde du fichier /etc/fstab"
cp /etc/fstab /root/postinfo/etcfiles
echo "copie /etc/fstab dans /root/postinfo/" \
>> /root/postinfo/summary
echo "... sauvegarde du fichier /etc/profile"
cp /etc/profile /root/postinfo/etcfiles
echo "copie /etc/profile dans /root/postinfo/" \
>> /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/" >> /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 << EOF >> /root/postinfo/summary
Les fichiers suivants ont été copiés de /etc vers /root/postinfo/etcfiles
EOF
echo "/etc/*conf" >> /root/postinfo/summary
echo "/etc/*config" >> /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 << 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 << EOF >> /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 \
&& 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" >> /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" >> /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 << EOF >> /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" >> /root/postinfo/summary
ls -AlR /root/postinfo >> /root/postinfo/summary
echo "###### FIN #####" >> /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 << 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)
#--------------------------------------------------------