All pastes #991287 Raw Edit

Something

public text v1 · immutable
#991287 ·published 2008-04-20 21:41 UTC
rendered paste body
#! /bin/bash

# Variables du serveur hôte 
host=10.0.0.xxx
chemin_backup_host=/mnt/backup/b14 

# Variables du client
dest=/mnt/B26
I=1
fichier_a_copier=/home/info
date1=Gestion/dat1_NE_PAS_EFFACER.txt
date2=Gestion/dat2_NE_PAS_EFFACER.txt
exclude=/home/info/Gestion/Sauvegarde/exclude.lst


# Options Rsync1 et Rsync2
option1="-vauz --progress --force --ignore-errors --exclude-from=$exclude"
option2="-vauz --progress --del --force --ignore-errors --exclude-from=$exclude"

# Pour ne pas réecrire la même chose

function sauvegarde_effectue ()
{ 
   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 1
}

function demont () # Démontage de la partition de sauvegarde, pour ne pas faire de bêtise
{
sudo umount $dest 
}

function mont () # Montage de la partition pour faire la sauvegarde
{
   echo "" 
   echo "Montage de la partition de sauvegarde "
   echo ""
sudo mount -t nfs $host:$chemin_backup_host $dest
   echo ""
   echo "Montage effectué"
   sleep 5
}

function rsync1 () # Synchronisation en fonction de la date
{
   rsync $option1 $fichier_a_copier/ $dest
} 

function rsync2 () # Synchronisation en fonction de la date et copie miroir
{
   rsync $option2 $fichier_a_copier/ $dest
}


#_________________ en avant la musique__________________

# 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 $host > 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
   echo ""
   echo ""
done 
#___________________________________________________________________________________________________

   mont               #Montage de la partition - Appel de la fonction mont 
#  rm -f $fichier_a_copier/NULL #On efface le fichier NULL créer par le test de présence
   
   echo ""
   export afficher_date1=`cat $fichier_a_copier/$date1` #lecture des dates de sauvegardes
   export afficher_date2=`cat $fichier_a_copier/$date2`


#_______________________________ pose la question et récupère la réponse
reponse=
until ["$reponse" = "4"] ; do
  clear  
   echo ""
   echo "                             Sauvegarde des données     "
   echo ""
   echo ""
   echo ""
   echo "1) Sauvegarde Normale effectuée le :" $afficher_date1  
   echo "" 
   echo "2) Sauvegarde Miroir  effectuée le :" $afficher_date2   
   echo ""
   echo "___"
   echo ""
   echo "3) edition du fichier exclude.lst > exclusion de fichier"
   echo ""
   echo "___"
   echo ""
   echo "4) :  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 > $fichier_a_copier/$date1 #mise à jour du fichier date
   echo ""
   echo "Préparation des fichiers à la copie"
   echo ""
   echo ""
   rsync1     #appel de la fonction rsync1 pour la copie normal
   sauvegarde_effectue #appel de la fonction sauvegarde
   demont ;;  #appel de la fonction demont
#______________________________________________________________________
   2)
   clear  
   date +%d_%B_%G_'à'_%T > $fichier_a_copier/$date2 #mise à jour du fichier date
   echo ""
   echo "Préparation des fichiers à la copie"
   echo ""
   echo ""
   rsync2     #appel de la fonctione rsync pour la copie miroir
   sauvegarde_effectue #appel de la fonction sauvegarde
   demont ;;  #appel de la fonction demont
#______________________________________________________________________
   3) 
   echo ""
   doexec /usr/bin/kwrite open $exclude
   clear
   echo ""
   echo ""
   echo "le fichier exclude à été édité retour au menu"
   sleep 5
   ;;
   
   4) 
   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"
   demont #appel de la fonction demont  
   exit ;;
#______________________________________________________________________
   *)
    echo ""
    echo ""
    echo "veuillez presser 1, 2, 3, ou 4"
    sleep 2
    clear ;; 
    
esac
#___________________________________________________________________________________________
done