#! /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 #__________________________________________________________________________________________________