#! /bin/bash
# Variables à adapter
DEST=/mnt/B26
CHEMINBACKUP=/mnt/backup/b14
I=1
B26=10.0.0.126
SOURCE=/home/info
DATE=`date +%d_%B_%G_%T`
# Options de rsync1
OPTIONS1="-vauz --progress --force --ignore-errors"
# Options de rsync2
OPTIONS2="-vauz --progress --del --force --ignore-errors"
# Pour ne pas réecrire la même chose
function sauvegarde ()
{
clear
echo ""
echo ""
echo "Sauvegarde effectuée... "
echo ""
echo ""
echo "Démontage de la partition de sauvegarde "
echo ""
echo ""
echo "Bye Bye à Bientôt"
sleep 5
}
function demont ()
{
sudo umount $DEST
}
function mont ()
{
echo ""
echo "Montage de la partition de sauvegarde "
echo ""
sudo mount -t nfs $B26:$CHEMINBACKUP $DEST
}
function rsync1 ()
{
rsync $OPTIONS1 $SOURCE/Freewares/ $DEST/Freewares
rsync $OPTIONS1 $SOURCE/Logiciel_piratés/ $DEST/Logiciel_piratés
rsync $OPTIONS1 $SOURCE/Gestion/ $DEST/Gestion
rsync $OPTIONS1 $SOURCE/Pilotes/ $DEST/Pilotes
rsync $OPTIONS1 $SOURCE/.kde/ $DEST/.kde
rsync $OPTIONS1 $SOURCE/.thunderbird/ $DEST/.thunderbird_$DATE
}
function rsync2 ()
{
rsync $OPTIONS2 $SOURCE/Freewares/ $DEST/Freewares
rsync $OPTIONS2 $SOURCE/Logiciel_piratés/ $DEST/Logiciel_piratés
rsync $OPTIONS2 $SOURCE/Gestion/ $DEST/Gestion
rsync $OPTIONS2 $SOURCE/Pilotes/ $DEST/Pilotes
rsync $OPTIONS2 $SOURCE/.kde/ $DEST/.kde
rsync $OPTIONS2 $SOURCE/.thunderbird/ $DEST/.thunderbird_$DATE
}
# Démontage préventif
demont
clear
#On teste la présence du poste de sauvegarde avant de le monter_____________________________________
echo "Vérification présence du poste B26 pour la sauvegarde"
echo ""
echo ""
while [ $I -ne 0 ] ; do
ping -c1 $B26 > NULL
I=$?
if [ $I == 0 ]
then echo "Le poste B26 est présent"
else echo "Le poste B26 est absent "
echo ""
echo "veuillez appeler le responsable informatique" ;sleep 10 ;exit
fi
sleep 5
echo ""
echo ""
done
#___________________________________________________________________________________________________
#Montage de la partition - Appel de la fonction mont
mont
#On efface le fichier NULL
rm -f $SOURCE/NULL
echo ""
#lecture des fichiers pour les dates des sauvegardes
export DAT1=`cat $DEST/dat1.txt`
export DAT2=`cat $DEST/dat2.txt`
# pose la question et récupère la réponse
clear
echo ""
echo " Sauvegarde Normale, Miroir"
echo ""
echo ""
echo "1) : Sauvegarde Normale"
#echo " Mise à jour des fichiers"
echo ""
echo " Dernière sauvegarde le :" $DAT1
echo ""
echo "2) : Sauvegarde Miroir "
#echo " Mise à jour des fichiers et suppression des"
#echo " fichiers n'existant plus sur la source"
echo ""
echo " Dernière sauvegarde le :" $DAT2
echo ""
echo ""
echo "3) : Quitter le programme"
echo ""
echo ""
echo ""
echo -n "Choix : "
read reponse
# Agit selon la réponse____________________________________________________________________________
case $reponse in
1)
clear
date +%d_%B_%G_'à'_%T > $DEST/dat1.txt
echo ""
echo "Préparation des fichiers à la copie"
echo ""
echo ""
sleep 2
#appel de la fonction rsync1 pour la copie normal
rsync1
#appel de la fonction sauvegarde
sauvegarde
#appel de la fonction demont
demont ;;
#______________________________________________________________________
2)
clear
date +%d_%B_%G_'à'_%T > $DEST/dat2.txt
echo ""
echo "Préparation des fichiers à la copie"
echo ""
echo ""
sleep 2
#appel de la fonctione rsync pour la copie miroir
rsync2
#appel de la fonction sauvegarde
sauvegarde
#appel de la fonction demont
demont ;;
#______________________________________________________________________
3)
clear
echo ""
echo ""
echo ""
echo " Vous avez quitté le programme aucune donnée n'a été sauvegardées"
echo ""
echo ""
echo ""
echo " Bye Bye !! A bientôt"
#appel de la fonction demont
demont
sleep 5
exit ;;
#______________________________________________________________________
*) clear
echo ""
echo " Erreur, veuillez relancer la sauvegarde"
echo ""
echo ""
echo " Aucune donnée n'a été sauvegardées"
echo ""
sleep 5
#appel de la fonction demont
demont ;;
esac
#__________________________________________________________________________________________________