Script de sauvegarde de configuration Cisco
Principe
Ce script utilise le language python et la "library" python Netdevicelib
Vous avez besoin de charger :
l’interpreteur Python ;
la library Netdevicelib. Lien vers Netdevicelib
Le programe GetCFG.py utilisant la library
import sys
from connections import ConnectionFactory
# Check the command-line arguments
if len( sys.argv ) < 5:
print "Usage: version.py device username password enable-password"
sys.exit(0)
# Create a Connection object for a telnet connection to an IOS device
conn = ConnectionFactory().createConnection( "telnet", "IOS" )
# Open the connection to the device
conn.open( sys.argv[1] )
# Login to the device. Assumes username/password login (i.e. TACACS)
conn.login( sys.argv[2], sys.argv[3] )
# Enable
conn.enable( sys.argv[4] )
# Run the command on the device
lines = conn.getConfig()
# Print the output
print lines
monfichiersortie = open(sys.argv[1]+".cfg","w")
monfichiersortie.writelines(lines)
monfichiersortie.close()Le fichier.bat à configurer
python GetCfg.py 10.0.0.1 username password enable-password
python GetCfg.py 10.0.0.2 username password enable-password
python GetCfg.py 10.0.0.3 username password enable-passwordRemarque :
Si l’équipement n’a pas de username il faut quand même 3 arguments. entrez le password à la la place du username ça marche.
python GetCfg.py 10.0.0.1 password password enable-passwordLa sortie donne les 3 fichiers de config nommer par le premier argument soit ici :
10.0.0.1.cfg
10.0.0.2.cfg
10.0.0.3.cfg
Astuce
pour avoir une liste d’équipements sous la forme du nom des équipements il faut soit utiliser un fichier host sur le PC exécutant le scrip soit les noms des équipement sont connue dans le DNS.
Divers
Il est possible au lieu de sauvergarder de passer une commande CLI sur les équipements Cisco. Dans l’exemple l’on fait un show cdp neigbor.
Le script nécéssaire à utiliser avec un fichier bat :
shneig.py
import sys
from connections import ConnectionFactory
# Check the command-line arguments
if len( sys.argv ) < 4:
print "Usage: version.py device username password"
sys.exit(0)
# Create a Connection object for a telnet connection to an IOS device
conn = ConnectionFactory().createConnection( "telnet", "IOS" )
# Open the connection to the device
conn.open( sys.argv[1] )
# Login to the device. Assumes username/password login (i.e. TACACS)
conn.login( sys.argv[2], sys.argv[3] )
# Run the command on the device
lines = conn.cmd( "sh cdp neighbors" )
# Print the output
print lines
monfichiersortie = open(sys.argv[1]+"neigborg.txt","w")
monfichiersortie.writelines(lines)
monfichiersortie.close()
print "commande ok sur "+sys.argv[1]Le fichier.bat à configurer
python shneig.py 10.0.0.1 username password enable-password
python shneig.py 10.0.0.2 username password enable-password
python shneig.py 10.0.0.3 username password enable-passwordRésultat
fichiers :
10.0.0.1neigborg.txt
10.0.0.2neigborg.txt
10.0.0.3neigborg.txt

5 Messages de forum