Voici un petit script fort simple, qui permet d’afficher la liste des
fichiers sauvegardés avec tar sur une bande magnétique (LTO par
exemple) sous Linux.
L’intérêt est de lister l’ensemble des fichiers présent sur la bande, avec en préambule de chaque sauvegarde le numéro du bloc à partir duquel démarre la sauvegarde.
---------------------------------------------------------------------------------------------------------------------
mt -f $BANDE rewind
Pour se positionner correctement sur la bande afin de faire une restauration, il suffit de faire un seek (en étant en début de bande) avec le numéro de bloc indiqué par le script.
Par exemple, pour restaurer à partir de l’affichage précédente le fichier messages-20121007, faire :
[user@vbox ~]$ mt -f /dev/nst0 rewind
[user@vbox ~]$ mt -f /dev/nst0 seek 2
[user@vbox ~]$ tar -xzvf /dev/nst0 messages-20121007 messages-20121007
Remarque :
Sous Red-Hat et Oracle Linux, Si un utilisateur autre que root doit accéder au lecteur de bande, l’ajouter dans le groupe tape pour qu’il ait les droits d’accès aux périphérique /dev/nst0 et /dev/st0
L’intérêt est de lister l’ensemble des fichiers présent sur la bande, avec en préambule de chaque sauvegarde le numéro du bloc à partir duquel démarre la sauvegarde.
---------------------------------------------------------------------------------------------------------------------
#!/bin/sh
# Script affichant le contenu intégral d'une bande
#
# 10/10/2012 - Creation
#
BANDE=/dev/nst0
COMPRESS=Y
#
# On rembobine
echo "Lecteur $BANDE - Compression $COMPRESS"
echo -n "Rembobinage "
MSG=$(mt -f $BANDE rewind 2>&1)
if [ $? -ne 0 ] ; then
echo "Erreur : " $MSG
exit 1;
fi
echo ": OK"
echo "Liste des fichiers"
mt -f $BANDE tell
if [ "$COMPRESS" == "Y" ] ; then
CMD=tzvf
else
CMD=tvf
fi
LOOP=0
while [ $LOOP -eq 0 ] ; do
tar -$CMD $BANDE 2> /dev/null
LOOP=$?
if [ $LOOP -eq 0 ] ; then mt -f $BANDE tell
fi
done
echo "Pour se positionner devant un bloc, avant restauration, faire mt -f $BANDE seek n"
--------------------------------------------------------------------------------------------
Exemple d’utilisation :
-----------------------------------------------------------------
[user@vbox ~]$ liste_bande.sh
Lecteur /dev/nst0 - Compression Y
Rembobinage : OK
Liste des fichiers
At block 0.
-rw------- root/root 0 2012-10-07 03:43 maillog
-rw------- root/root 0 2012-09-09 03:45 maillog-20120916
-rw------- root/root 0 2012-09-16 03:26 maillog-20120923
-rw------- root/root 0 2012-09-23 03:38 maillog-20120930
-rw------- root/root 0 2012-09-30 03:22 maillog-20121007
At block 2.
-rw------- root/root 20872 2012-10-09 15:46 messages
-rw------- root/root 1349 2012-09-16 03:26 messages-20120916
-rw------- root/root 4567 2012-09-23 03:38 messages-20120923
-rw------- root/root 1536 2012-09-30 03:22 messages-20120930
-rw------- root/root 1282 2012-10-07 03:43 messages-20121007
At block 4.
Pour se positionner devant un bloc, avant restauration, faire mt -f /dev/nst0 seek n
[user@vbox ~]$
-------------------------------------------------------------------------------------
A noter que le script ne rembobine pas la bande. Si cela est nécessaire l’ajouter à la fin :
mt -f $BANDE rewind
Pour se positionner correctement sur la bande afin de faire une restauration, il suffit de faire un seek (en étant en début de bande) avec le numéro de bloc indiqué par le script.
Par exemple, pour restaurer à partir de l’affichage précédente le fichier messages-20121007, faire :
[user@vbox ~]$ mt -f /dev/nst0 rewind
[user@vbox ~]$ mt -f /dev/nst0 seek 2
[user@vbox ~]$ tar -xzvf /dev/nst0 messages-20121007 messages-20121007
Remarque :
Sous Red-Hat et Oracle Linux, Si un utilisateur autre que root doit accéder au lecteur de bande, l’ajouter dans le groupe tape pour qu’il ait les droits d’accès aux périphérique /dev/nst0 et /dev/st0
Aucun commentaire :
Enregistrer un commentaire