Sauvegarde sur bande avec la commande tar

But de la manipulation

Les serveurs stoquent les données des utilisateurs sur leur disque dur dans un réseau local.

Sur ces serveurs, on trouve généralement un lecteur de sauvegarde, appellé streamer en anglais.

Ce streamer est appellé st0 par le système linux en général, s’il sagit d’un streamer scsi.

Visualisez le résultat de la commande dmesg afin de voir dans l’historique du boot comment est nommé votre lecteur.

Vous pouvez trouver st0 ou nst0 comme appellation du même lecteur de bande. La différence est simplement que si vous utilisez st0, la bande sera rembobimée après chaque commande.

Si vous utilisez nst0, la bande restera là où elle s’est arrté lors de la dernière commande, et il faudra la rembobinner avec la commande :

mt -f /dev/nst0 rewind

Sauvegarde sur la bande

Voici un exemple de script de sauvegarde que vous pourrez plannifier via votre service cron :

#!/bin/bash
#
#
# Script de sauvegarde des données du serveur sur bande
#
# Source function library.
. /etc/rc.d/init.d/functions

echo Lancement de la sauvegarde

# Rembobinage de la bande si necessaire
mt -f /dev/st0 rewind
RETVAL=$?

case "$RETVAL" in
0)
echo Bande presente, lancement de la sauvegarde sur bande
# Ici je ne sauve que certains dossiers et j'exclu le dossier profile.
tar cvf /dev/st0 --exclude home/samba/profiles /home /etc /var/named
sleep 10
# Ejection de la bande
mt -f /dev/st0 offline
;;
1)
echo Pas de bande presente, echec de la sauvegarde
;;
esac
exit 0

La création d’une sauvegarde sur bande se fait donc via la commande :

tar cvf /dev/st0 /mon_dossier_a_sauver

Catalogue de la bande

Un catalogue est le détail du contenu d’une bande.

Pour savoir ce qui est sauvé sur une bande, il faut insérer la bande souhaitée dans le lecteur et lancer la commande :

tar tvf /dev/st0

Pour rechercher un dossier en particulier, utilisez :

tar tvf /dev/st0 | grep -i ce_que_je_cherche

Restauration d’un fichier

Pour restaurer une bande complète, utilisez la commande :

tar xvf /dev/st0

Attention ! Cela restaure l’arborescence sauvegardée complète et ceci depuis le dossier dans lequel vous êtes.

C’est à dire, que si vous avez sauvé l’arborescence /etc et que vous êtes dans /root, vous obtiendrez /root/etc suivi de l’arborescence complète.

Si vous souhaitez restaurer le dossier /etc directement, il faut donc vous placer dans le dossier / de votre serveur ( cd / ).

Pour restaurer un fichier en particulier, utilisez la séquence de commandes ci-dessous. Ici je veux restaurer le fichier network dans /etc/sysconfig.

tar tvf /dev/st0 |grep -i sysconfig/network

Vous obtenez ceci :

drwxr-xr-x named/named 0 2007-03-28 10:11:24 etc/sysconfig/network-scripts/
-rw-r--r-- root/root 254 2001-06-21 00:59:03 etc/sysconfig/network-scripts/ifcfg-lo
-rwxr-xr-x root/root 7868 2005-03-28 22:43:03 etc/sysconfig/network-scripts/ifup-ipsec
-rwxr-xr-x root/root 11466 2004-08-19 14:02:43
...
...
etc/sysconfig/network
drwxr-xr-x root/root 0 2006-08-13 10:10:58 etc/sysconfig/networking/
drwxr-xr-x root/root 0 2006-08-13 10:10:58 etc/sysconfig/networking/devices/
drwxr-xr-x root/root 0 2006-08-13 10:10:58 etc/sysconfig/networking/profiles/
drwxr-xr-x root/root 0 2006-08-13 10:10:58 etc/sysconfig/networking/profiles/default/

En effet, sysconfig étant le dossier de configuration système, on trouve le fichier network et les sous-dossiers network-scripts et networking.

Je restaure le fichier network avec la commande ci-dessous.

Attention ! Remarquez que j’utilise le nom complet que m’a retourné le catalogue de la bande, car tar va restaurer le chemin complet…

tar xvf /dev/st0 etc/sysconfig/network

Vous obtenez ceci :

[root@serveur tmp]# ls -l etc/sysconfig/
total 4
-rw-r--r-- 1 root root 62 mar 28 10:10 network
[root@serveur tmp]#

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Ce site utilise Akismet pour réduire les indésirables. En savoir plus sur comment les données de vos commentaires sont utilisées.