#! /bin/bash

# script pour backup de /home/jm/, /etc, /usr/local, /root
# "$Id: backup.sh,v 1.10 2002/02/01 10:45:44 jm Exp $"
# Historique
# "$Log: backup.sh,v $
# "Revision 1.9 2001/12/26 15:42:50 jm
# "enlève l'image pour faire de la place
# "
# "Revision 1.8 2001/12/26 14:38:03 jm
# "ajout fabrication de l'image par mkisofs
# "et gravage avec cdrecord
# "
# "Revision 1.7 2001/12/25 21:03:54 jm
# "ajout sauvegarde des scripts de root
# "
# "Revision 1.6 2001/12/10 21:55:09 jm
# "ajout sauvegarde de /lib/modules
# "
# "Revision 1.5 2001/12/02 20:50:14 jm
# "ajout sauvegarde de /boot
# "message de fin de travail
# "
# "Revision 1.4 2001/12/01 20:55:27 jm
# "nettoyage final et substitutions intégrées
# ""


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 speed=2 dev=0,0,0 -eject $output
else
echo "pas d'image, fin de session"
exit
fi

# on fait de la place
rm -f $output