Script de sauvegarde switch brocad

Résolu
titus98 Messages postés 13 Statut Membre -  
zipe31 Messages postés 34620 Date d'inscription   Statut Contributeur Dernière intervention   -
Bonjour,

J'utilise un script de sauvegarde pour rapatrier la conf de mes switch , n'étant pas un dieu du script , je rencontre un problème lorsqu'un switch n'est pas joignable ce dernier s'emballe et stop toute action , je pense qu'il me manque une condition permettant de passer a la ligne suivante cependant je ne sais pas comment la formuler ???
Détail de fonctionnement , ce script utilise un fichier texte dans lequel est répertorié le nom des switch , le script est fait de telle sorte qu'il exécute une sauvegarde a chaque ligne du fichier txt ( $line) , a chaque sauvegarde ce dernier créer un répertoire incrémenté par une date dans lequel il dépose les fichiers de conf

8 réponses

  1. zipe31 Messages postés 34620 Date d'inscription   Statut Contributeur Dernière intervention   6 501
     
    Salut,

    Le plus simple serait d'afficher ton script afin qu'on y jette un oeil, non ?

    0
  2. titus98 Messages postés 13 Statut Membre
     
    mkdir -p $BROCADE_CONF/home/brocade/Conf'date +%Y%m%d'
    chown brocade $BROCADE_CONF/home/brocade//Conf'date +%Y%m%d'

    cat $SWLIST | while read LINE
    do
    Log "SAUVEGARDE DE $LINE"
    $BROCADE_SCRIPT |telnet $LINE
    sleep $INTERVAL
    keeplooping=1;
    while [[ $keeplooping -eq 1 ]] ; do
    if [ -f /home/brocade/testbkp/Conf'date +%Y%m%d'/renamebeforestor.'date +%Y%m%d'.conf ] ; then
    break;
    fi
    done
    mv /home/brocade/Conf'date +%Y%m%d'/renamebeforestor.'date +%Y%m%d'.conf /home/brocade/Conf'date +%Y%m%d'/$LINE.conf
    sleep $INTERVAL
    done
    0
    1. zipe31 Messages postés 34620 Date d'inscription   Statut Contributeur Dernière intervention   6 501
       
      Il est complet ton script là ?

      C'est normal le double slash dans ton chemin "
      chown brocade $BROCADE_CONF/home/brocade//Conf'date +%Y%m%d' " ?

      Tu devrais rajouter un test (ping ?) juste avant de lancer le traitement via "telnet"...

      Et en fonction de ce test faire ton traitement sur le switch ou passer au suivant.
      0
  3. titus98 Messages postés 13 Statut Membre
     
    oui j ai juste supprimer klk lignes sinon l'affichage n'est pas correcte sur ce site
    0
  4. titus98 Messages postés 13 Statut Membre
     
    je pensais a klk du genre cependant je n'ai aucune idée sur la syntaxe ...
    0
    1. zipe31 Messages postés 34620 Date d'inscription   Statut Contributeur Dernière intervention   6 501
       
      Un truc du genre devrait le faire (à inclure dans ta boucle "while" avant le "telnet") :

      ping -c1 $LINE >/dev/null
      
      if [ "$?" -gt 0 ]
      then continue
      fi
      0
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. titus98 Messages postés 13 Statut Membre
     
    je penses que cela ne résoudra pas complètement mon problème , car lorsque le script s emballe , je teste immédiatement la machine qui s'avère joignable , donc je pense qu'il me faudrait un moyen pour faire plusieur tentative en cas d'échec , mais également le moyen de pouvoir passer au switch suivant
    0
  7. titus98 Messages postés 13 Statut Membre
     
    cat $SWLIST | while read LINE
    do
    Log "SAUVEGARDE DE $LINE"
    ping -c1 $LINE >/dev/null

    if [ "$?" -gt 0 ]
    then continue
    fi
    $BROCADE_SCRIPT |telnet $LINE
    sleep $INTERVAL
    keeplooping=1;
    while [[ $keeplooping -eq 1 ]] ; do
    if [ -f /home/brocade/testbkp/Conf'date +%Y%m%d'/renamebeforestor.'date +%Y%m%d'.conf ] ; then
    break;
    fi
    done
    mv /home/brocade/testbkp/Conf'date +%Y%m%d'/renamebeforestor.'date +%Y%m%d'.conf /home/brocade/testbkp/Conf'date +%Y%m%d'/$LINE.conf
    sleep $INTERVAL
    done

    je penses que je dois oublier quelque chose j ai toujours cette erreur qui tourne en boucle

    ++ date +%Y%m%d
    + '[' -f /home/brocade/testbkp/Conf20110810/renamebeforestor.20110810.conf ']'
    + [[ 1 -eq 1 ]]
    ++ date +%Y%m%d
    0
    1. zipe31 Messages postés 34620 Date d'inscription   Statut Contributeur Dernière intervention   6 501
       
      Quelle erreur ?

      A quoi sert cette boucle exactement ? Où est initialisée la variable "$keeplooping" ?
      0
  8. titus98 Messages postés 13 Statut Membre
     
    Il s'agit d un script que j ai repris , je viens de le modifier le problème est donc reglé , mais maintenant losqu'il arrive a la derniere ligne du fichier txt contenant les ip des switch , le script tourne en boucle et recommence a partir de la première

    do
    Log "SAUVEGARDE DE $LINE"
    #ping -c1 $LINE >/dev/null

    #if [ "$?" -gt 0 ]
    #then continue
    #fi
    $BROCADE_SCRIPT |telnet $LINE
    echo "Script resultat : $?"
    sleep $INTERVAL
    #keeplooping=1;
    #while [[ $keeplooping -eq 1 ]] ; do
    #if [ -f /home/brocade/testbkp/Conf'date +%Y%m%d'/renamebeforestor.'date +%Y%m%d'.conf ] ; then
    # break;
    # fi
    #done
    mv /home/brocade/testbkp/Conf'date +%Y%m%d'/renamebeforestor.'date +%Y%m%d'.conf /home/brocade/testbkp/Conf'date +%Y%m%d'/$LINE.conf
    if [ "$?" -gt 0 ]
    then
    Log "Probleme pour le switch $LINE"
    fi
    #sleep $INTERVAL
    done
    0
    1. zipe31 Messages postés 34620 Date d'inscription   Statut Contributeur Dernière intervention   6 501
       
      On est bien d'accord que ton script maintenant ressemble à ça :

      cat $SWLIST | while read LINE
      
      do
      Log "SAUVEGARDE DE $LINE"
      
      $BROCADE_SCRIPT |telnet $LINE
      echo "Script resultat : $?"
      sleep $INTERVAL
      
      mv /home/brocade/testbkp/Conf'date +%Y%m%d'/renamebeforestor.'date +%Y%m%d'.conf /home/brocade/testbkp/Conf'date +%Y%m%d'/$LINE.conf
      
      if [ "$?" -gt 0 ]
      then
      Log "Probleme pour le switch $LINE"
      fi
      
      done
      0
  9. titus98 Messages postés 13 Statut Membre
     
    oui j ai passer certaines ligne en commentaire , mais comme je ne vois pas comment eviter qu'a la fin de la lecture du fichier texte il recommence a partir de la premier au lieu de stopper
    0
    1. zipe31 Messages postés 34620 Date d'inscription   Statut Contributeur Dernière intervention   6 501
       
      T'es sur qu'il n'y a pas une autre boucle qui tourne ?
      0