Script de sauvegarde switch brocad
Résolu/Fermé
titus98
Messages postés
12
Date d'inscription
lundi 28 février 2011
Statut
Membre
Dernière intervention
21 septembre 2011
-
9 août 2011 à 20:14
zipe31 Messages postés 36402 Date d'inscription dimanche 7 novembre 2010 Statut Contributeur Dernière intervention 27 janvier 2021 - 10 août 2011 à 13:03
zipe31 Messages postés 36402 Date d'inscription dimanche 7 novembre 2010 Statut Contributeur Dernière intervention 27 janvier 2021 - 10 août 2011 à 13:03
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
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
A voir également:
- Script de sauvegarde switch brocad
- Logiciel de sauvegarde gratuit - Guide
- Script vidéo youtube - Guide
- Sauvegarde facile - Télécharger - Sauvegarde
- Sauvegarde android - Guide
- Logiciel switch - Télécharger - Conversion & Extraction
8 réponses
zipe31
Messages postés
36402
Date d'inscription
dimanche 7 novembre 2010
Statut
Contributeur
Dernière intervention
27 janvier 2021
6 422
9 août 2011 à 20:20
9 août 2011 à 20:20
Salut,
Le plus simple serait d'afficher ton script afin qu'on y jette un oeil, non ?
Le plus simple serait d'afficher ton script afin qu'on y jette un oeil, non ?
titus98
Messages postés
12
Date d'inscription
lundi 28 février 2011
Statut
Membre
Dernière intervention
21 septembre 2011
10 août 2011 à 09:37
10 août 2011 à 09:37
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
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
zipe31
Messages postés
36402
Date d'inscription
dimanche 7 novembre 2010
Statut
Contributeur
Dernière intervention
27 janvier 2021
6 422
10 août 2011 à 09:49
10 août 2011 à 09:49
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.
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.
titus98
Messages postés
12
Date d'inscription
lundi 28 février 2011
Statut
Membre
Dernière intervention
21 septembre 2011
10 août 2011 à 10:03
10 août 2011 à 10:03
oui j ai juste supprimer klk lignes sinon l'affichage n'est pas correcte sur ce site
titus98
Messages postés
12
Date d'inscription
lundi 28 février 2011
Statut
Membre
Dernière intervention
21 septembre 2011
10 août 2011 à 10:05
10 août 2011 à 10:05
je pensais a klk du genre cependant je n'ai aucune idée sur la syntaxe ...
zipe31
Messages postés
36402
Date d'inscription
dimanche 7 novembre 2010
Statut
Contributeur
Dernière intervention
27 janvier 2021
6 422
10 août 2011 à 10:21
10 août 2011 à 10:21
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
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
titus98
Messages postés
12
Date d'inscription
lundi 28 février 2011
Statut
Membre
Dernière intervention
21 septembre 2011
10 août 2011 à 10:15
10 août 2011 à 10:15
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
titus98
Messages postés
12
Date d'inscription
lundi 28 février 2011
Statut
Membre
Dernière intervention
21 septembre 2011
10 août 2011 à 10:32
10 août 2011 à 10:32
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
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
zipe31
Messages postés
36402
Date d'inscription
dimanche 7 novembre 2010
Statut
Contributeur
Dernière intervention
27 janvier 2021
6 422
10 août 2011 à 10:37
10 août 2011 à 10:37
Quelle erreur ?
A quoi sert cette boucle exactement ? Où est initialisée la variable "$keeplooping" ?
A quoi sert cette boucle exactement ? Où est initialisée la variable "$keeplooping" ?
titus98
Messages postés
12
Date d'inscription
lundi 28 février 2011
Statut
Membre
Dernière intervention
21 septembre 2011
10 août 2011 à 11:21
10 août 2011 à 11:21
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
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
zipe31
Messages postés
36402
Date d'inscription
dimanche 7 novembre 2010
Statut
Contributeur
Dernière intervention
27 janvier 2021
6 422
10 août 2011 à 11:57
10 août 2011 à 11:57
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
titus98
Messages postés
12
Date d'inscription
lundi 28 février 2011
Statut
Membre
Dernière intervention
21 septembre 2011
10 août 2011 à 12:07
10 août 2011 à 12:07
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
zipe31
Messages postés
36402
Date d'inscription
dimanche 7 novembre 2010
Statut
Contributeur
Dernière intervention
27 janvier 2021
6 422
10 août 2011 à 13:03
10 août 2011 à 13:03
T'es sur qu'il n'y a pas une autre boucle qui tourne ?