J'ai un petit script qui se connecte à un commutateur réseau et exécute des commandes. Cela fonctionne bien mais j'en ai besoin arrêtez et montrez un message d'erreur si l'une des commandes échoue ou que le réseau donne un déclin ou quelque chose.Script Python pour intercepter les commandes ou les messages d'avertissement ayant échoué
Voici le code:
import sys
import telnetlib
HOST = "10.10.10.1"
user = "Test"
password = "TestPW"
tn = telnetlib.Telnet(HOST)
tn.read_until("username: ")
tn.write(user + "\n")
tn.read_until("password: ")
tn.write(password + "\n")
n, match, previous_text = tn.expect([r'Login incorrect', r'\$'], 1)
if n == 0:
print "Invalid Credentials"
tn.close()
else:
tn.write("Term len 0\n")
#Reads data from commands.txt file and executes it line by line
with open("commands.txt") as commands:
singlecommand = commands.read()
tn.write(singlecommand)
print singlecommand
#Need exception/error checking to catch fail commands or warnings.
tn.write("exit\n")
tn.write("y\n")
print tn.read_all()
tn.close()
Je veux que le script pour arrêter l'exécution de plusieurs commandes après une commande échec ou un avertissement de CLI que quelque chose peut-être faux. Il a déjà la fonction d'impression, il devrait donc afficher le message d'erreur et la commande qui a échoué.
Voici un exemple d'une commande qui a échoué:
% Entrée non valide détectée au marqueur '^'.
Voici un exemple de message d'avertissement:
% Attention: