Das Beispiel habe ich für Huaweiswitche erstellt. Es geht scheinbar auch über SNMP aber per Telnet die Befehle absetzen geht bei jedem Hersteller.
Folgende Software wird benötigt:
- TFTP Server (z.B. 3CDaemon -> http://support.3com.com/software/utilities_for_windows_32_bit.htm)
- Tera Term (hier ttpmacro -> http://www.heise.de/software/download/teraterm_pro/51776)
Das einzige was man wissen muss sind die Befehle wie man die Konfiguration bei dem entsprechenden Switch sichert. Bei Huawei liegt per Default die Konfiguration in vrpcfg.cfg. Mit dem Kommando tftp x.x.x.x put flash:/vrpcfg.cfg xxxx.cfg kann man die Konfig auf einen TFTP-Server schicken. Das Macro muss also auf verschiedene Situationen warten und dann Kommandos schicken. Das Macro speichert die Konfigurationen unter der jeweiligen IP-Adresse. Eine Erweiterung das noch ein Datum mit in dem Dateinamen eingebaut wird ist auch möglich.
Bei Huawei sieht das wie folgt aus:
>> Username: << Username senden >> Password: << Password senden >> <Switch-1> << Komando tftp ... senden >> <Switch-1> << quit senden
Batch-Datei (get_cfgs.bat):
cls for /F "eol=; tokens=1,2,3,4 delims=, " %%i in (devices.txt) do ( teraterm\ttpmacro.exe get_cfgs.ttl %%i )
Geräte (devices.txt):
172.20.6.11 172.20.6.12 172.20.6.13 ...
ttl Macro Script für Tera Term Macro Programm (get_cfg.ttl):
; Host & Port host = param2 ; Username username = 'admin' ; Password password = 'admin' strconcat host ':23 /nossh' connect host wait 'Username:' sendln username wait 'Password:' sendln password wait '>' kommando = 'tftp 172.20.16.113 put flash:/vrpcfg.cfg ' strconcat kommando param2 strconcat kommando '.cfg' sendln kommando wait '>' sendln 'quit'
Die Macrosprache von Tera Term ist sehr einfach und lässt sich auf andere Hersteller leicht umbiegen.
Viel Spaß 😉