All pastes #539396 Raw Edit

Mine

public text v1 · immutable
·published 2007-06-05 07:48 UTC
rendered paste body
#! /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
#__________________________________________________________________________________________________