next_inactive up previous










Sauvegardes automatiques

Par Jean-Michel OLTRA

Le 18 février 2002








Table des matières

Avant-propos

Je vous fait passer là ma procédure de sauvegarde. Ce n'est peut être pas l'idéal et donc il vous faudra l'adapter à votre environnement. C'est du gravage basique, par conséquent il est préférable que vous lisiez les pages de manuel de mkisofs et de cdrecord avant de procéder.

1 le script

#! /bin/bash
# backup.sh
# script pour backup de /home/jm/, /etc, /usr/local...

outputdir="/usr/local/gravage"
outputfilename="backup.iso"
output="$outputdir/$outputfilename"

cd
rm -fR /home/jm/backup/*
mkdir -p /home/jm/backup/`date +backup-%d%m%Y`/boot
dumpdir="/home/jm/backup/`date +backup-%d%m%Y`"
echo $dumpdir

echo "sauvegarde des scripts de root..........."
cp -f /root/bin/* /home/jm/bin/rootscripts/

echo "préparation de l'archive /home/jm........"
tar -czf homejm.tar.gz -C /home/jm/ \
--exclude archives \
--exclude backup \
--exclude help \
--exclude src \
--exclude test \
--exclude tmp \
. && \
mv homejm.tar.gz $dumpdir

echo "préparation de l'archive /home/mysql....."
tar -czf homemysql.tar.gz -C /home/mysql/ . && \
mv homemysql.tar.gz $dumpdir

echo "préparation de l'archive /etc............"
tar -czf etc.tar.gz -C /etc/ . && \
mv etc.tar.gz $dumpdir

echo "préparation de l'archive /usr/local......"
tar -czf usrlocal.tar.gz -C /usr/local/ \
--exclude src \
. && \
mv usrlocal.tar.gz $dumpdir

echo "préparation de l'archive /var ..........."
tar -czf var.tar.gz -C /var/ \
--exclude local \
--exclude lock \
--exclude lost+found \
--exclude mail \
--exclude run \
--exclude spool \
--exclude tmp \
--exclude www \
. && \
mv var.tar.gz $dumpdir

echo "préparation de l'archive /lib/modules...."
tar -czf libmodules.tar.gz -C /lib/modules/ . && \
mv libmodules.tar.gz $dumpdir

echo "sauvegarde de /boot......................"
cp /boot/* $dumpdir/boot

chown -R jm $dumpdir
chmod 700 $dumpdir
chmod 600 $dumpdir/*

echo "sauvegarde effectuée dans $dumpdir"
echo " "
echo "écriture de l'image....................."
mkisofs -rT -o $output /home/jm/backup/

#teste si l'image existe
if [ -s $output ]; then \
echo "gravage................................"
cdrecord -v dev=0,0,0 speed=2 -eject $output
else
echo "pas d'image, fin de session"
exit
fi

# on fait de la place
rm -f $output

2 analyse du script

2.1 l'archivage

L'archivage se fait dans un répertoire que j'ai nommé "backup" dans mon /home. L'archive est elle-même un dossier nommé "backup-date_du_jour". On utilise tar : L'archive est ensuite mise à mon nom afin de pouvoir la visualiser si nécessaire.

2.2 la création de l'image

mkisofs utilise l'extension Rock-Ridge (-r) et crée une image du contenu du répertoire /home/jm/backup/ que j'ai appelé $output. Les variables qui définissent le chemin vers l'image sont en début de script.

2.3 le gravage

Avant d'attaquer le gravage proprement dit vous devrez repérer quels sont les 3 chiffres A, B et C qui caractérisent votre graveur, avec la commande :  cdrecord -scanbus, qui donne chez moi :
scsibus0 :
0,0,0 0) 'SAMSUNG ' 'CD-R/RW SW-216B ' 'Q001' Removable CD-ROM
0,1,0 1) 'SONY ' 'CD-ROM CDU701 ' '1.0f' Removable CD-ROM
<>Le graveur, c'est le SAMSUNG et on repère bien les 3 chiffres du device au début.

Puis on vérifie si l'image, $output, existe bien, il n'est pas nécessaire de graver du vide... Réglez donc à votre convenance les caractéristiques du device (dev=A,B,C), puis la vitesse de gravage (speed=x).

Conclusion

Voilà l'histoire. Il ne reste plus qu'à programmer la crontab pour lancer le script à une heure qui va bien :
/root/bin/backup.sh 2>&1 | mail root -s gravage
par exemple, pour suivre ce qui a été fait.

On peut se faire prévenir par la crontab la veille avec un message du style :

il faut mettre un cd dans le graveur, on sauvegarde demain.
en se l'envoyant par mail (echo "message" | mail root -s gravage).

Ce script peut servir de base à un gravage automatique de cd. Il suffit alors de créer l'image iso avec la commande dd :

dd if=/dev/cdrom of=/vers/image/cd.iso

À propos de ce document...

Sauvegardes automatiques

This document was generated using the LaTeX2HTML translator Version 99.2beta6 (1.42)

Copyright © 1993, 1994, 1995, 1996, Nikos Drakos, Computer Based Learning Unit, University of Leeds.
Copyright © 1997, 1998, 1999, Ross Moore, Mathematics Department, Macquarie University, Sydney.

The command line arguments were:
latex2html -no_subdir -show_section_numbers -split 0 gravage.tex

The translation was initiated by jean-michel oltra on 2002-02-18


next_inactive up previous
jean-michel oltra 2002-02-18