PDA

Visualizza la versione completa : Timeout


littlecharles
31-07-2009, 11:12
Ciao a tutti,
sono un super-novizio nell'utilizzo di perl e ho bisogno di una mano.
Sono riuscito a realizzare il seg. script che mi permette di fare telnet su un elenco di router ed eseguire alcuni comandi su di essi, salvando poi l'output in un file. Il problema nasce quando un router non raggiungibile: lo script si blocca (devo fare manualmente ctrl+c per farlo proseguire):

DIR=/home/utente/log # Aggiornare il path
if [ ! -e $DIR ]
then
mkdir $DIR
fi
# Tag specification: mmddhhmm
DATE=`date +'%m%d'`
TIME=`date +'%H%M'`
TAG=$DATE$TIME
while read riga # Per tutte le righe del file di input...
do
echo "$riga" # Visualizza la riga.
# Collect data from the router
(echo "utente";\
echo "password";\
echo "ena";\
echo "password";\
echo "primo comando su router";\
echo "secondo comando su router";\
echo "exit";\
sleep 3)| telnet "$riga" >> $DIR/log.$TAG 2>$DIR/log.$TAG.txt
done

Mi servirebbe poter mandare in automatico il segnale "CTRL+C", dopo aver aspettato un certo numero di secondi...
E' fattibile? Se si, come?

Grazie a tutti

MARTEDI
31-07-2009, 11:27
questo codice incomprensibile, cmq per comunicare in telnet potresti usare Net::Telnet ti semplifica la vita e gestisce la mancata comunicazione

Loading