Unix Tip: Automatizzare le sessioni telnet
Puo’ capitare di dover effettuare una operazione (ad esempio lanciare uno script) su piu’ server in sequenza: volendo utilizzare esclusivamente telnet e’ possibile automatizzare la procedura di login e di esecuzione del comando in modo da poter ‘scriptare’ la sequenza.
A questo scopo e’ possibile utilizzare expect , un linguaggio di scripting estensione del piu’ famoso Tcl/Tk.
Uno script expect si presenta cosi’:
#!/usr/bin/expect -f spawn telnet server1 expect "login:" send "andrea\r" expect "Password:" send "segreta\r" expect "server1>$" send "comando-da-eseguire\r" expect "server1>$" send "exit\r" expect eof
Una volta salvato il file e reso eseguibile (con il canonico chmod 755) lo script puo’ eseguire autonomamente il login sul server e una eventuale sequenza di comandi.
L’esempio in questione e’ facilmente adattabile anche a sessioni ftp.