Joomla TemplatesBest Web HostingBest Joomla Hosting
Menu Principale
Chi è online
 1 visitatore online
Siti amici











Home Articoli Sistemistica Automatizzare le operazioni ripetitive... la potenza di expect

Automatizzare le operazioni ripetitive... la potenza di expect

Valutazione attuale: / 0
ScarsoOttimo 

(articolo già pubblicato su www.italycug.org nel 2007)

Spesso, lavorando su reti con decine di apparati è necessario inviare la stessa configurazione su più apparati, o effettuare le stesse modifiche. Sono generalmente operazioni molto ripetitive e se fatte a mano, ovviamente soggette ad errori. Pensate che per effettuare la stessa modifica che richiede 5 minuti a macchina, e avete 100 macchina da riconfigurare, ci mettereste 500 minuti, ossia poco meno di 9 ore! Scopriamo con il presente articolo come fare per ottimizzare al meglio questo tipo di operazioni, e farle fare ad un computer...


Questo articolo verte sul linguaggio di programmazione expect disponibile sia su piattaforma Unix che Microsoft al link expect.nist.gov. Expect è un linguaggio che permette di simulare un "dialogo" umano con gli apparati, e si basa sul linguaggio TCL.


Vediamo di capire subito come funziona il meccanismo. Ogni volta che vi collegate ad un router, l'apparato vi presenta la richiesta dalla vostra username, una volta inserita, vi chiede la password, e cosi' via. Questo processo è veramente banale e fisso. Vediamo come farlo ripetere tramite uno script di expect:


# Lancio il telnet verso il router

spawn telnet 10.10.10.1

# Attendo la stringa "Username:"

expect -re "Username:" {
# Invio la mia login come stringa,
# seguita dal ritorno a capo "\r"
exp_send "lamialogin\r"
}

# Attendo la stringa "Password:"

expect -re "Password:" {
# Invio la mia password come stringa,
# seguita dal ritorno a capo "\r"
exp_send "lamiapassword\r"
}

expect -re ">" {
# Invio del comando "show ver"
exp_send "show ver\r"
}

expect -re ">" {
# Invio il comando "exit"
exp_send "exit\r"
}

Copiamo queste poche righe in un editor di testi, modificate l'IP, la login e la password e salvatelo come login.exp (.exp è la mia convenzione per gli script expect). Da riga di comando lanciamo:

expect login.exp

(se ci sono problemi nel non trovare expect (o expect.exe) fate riferimento al manuale del vostro sistema operativo su come mettere la directory di expect nel percorso di ricerca dei comandi)

 



Ultimo aggiornamento (Sabato 05 Dicembre 2009 20:08)

 
Sondaggi
Cosa ti aspetti da un sito dal nome ICT Experts?
 
Pubblicità