Anforderung: Sicherung der Konfigurationen von mehreren Cisco-Switches automatisch ohne manuell sich mit jedem Switch verbinden zu müssen.
Man nehme 15 Cisco Switches.
Man nehme einen TFTP-Server und das Tool expect unter Linux.
Man erhalte die Konfigurationen gesammelt in einem Pfad – geordnet nach Switch-IP.
Das eigentliche Skript ist:
#!/usr/bin/expect
set arg1 [lindex $argv 0]
set tftp 192.168.0.3
set pass kennwort
set timeout 60
spawn telnet $arg1
expect "Password:"
send "$passn"
expect ">"
send "enn"
expect "Password:"
send "$passn"
expect "#"
send "show run | tee tftp://$tftp/$arg1.cfgn"
expect "n"
sleep 3
send "quitn"
Es wird aufgerufen mit skript.sh switch-ip
Bei sehr großen Konfigurationen oder langsamer Netzwerkanbindung muss das sleep im Skript erhöht werden.
Hat man mehrere Switche ruft man das Skript wie folgt aus:
for switche in {41..50}; do /usr/local/bin/cisco-backup.sh 192.168.0.$switche; done
Dies führt Skript mit 192.168.0.41-50 aus. Obligatorisch zu erwähnen, dass ein TFTP-Server auf 192.168.0.3 laufen muss. Häufig muss dieser mit dem Schalter
–create, -c
Allow new files to be created.
gestartet werden, sonst verteilt er nur Dateien.