Script de sauvegarde switch brocad
Résolu
titus98
Messages postés
12
Date d'inscription
Statut
Membre
Dernière intervention
-
zipe31 Messages postés 36402 Date d'inscription Statut Contributeur Dernière intervention -
zipe31 Messages postés 36402 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
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
- Android switch - Accueil - Android
8 réponses
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
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.
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
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
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
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
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