un script in shell care face telnet/sau ssh pe un numar de statii/routere si da un set de comenzi.
Scriptul expect_telnet
#!/usr/bin/expect -f
log_user 0. ### dace se doreste ca scriptul sa mearga fara echo, sa nu afiseze
set timeout 20 ### daca merge ceva gresit scriptul se opreste dupa 20 de secunde
set address [lindex $argv 0] ###seteaza ca argument pentru
scriptul expect_telnet IP Address
set username [lindex $argv 1] ## seteaza argument pentru
expect_telnet username
set password [lindex $argv 2] ## seteaza argument pentru
expect_telnet password
set enable "enable"
spawn telnet ${address}
expect "Username:"
send -- "${username}\r"
expect "Password:"
send -- "${password}\r"
expect "*> "
send -- "$enable\r"
expect "Password: "
send -- "${password}\r"
## aici se trimit folosind send si expect comenzile ce se doresc da pe routere
send -- "exit\r" ###la final se iese de pe router
Pentru ca acest script sa poate fii executat trebuie definit ca executabil
chmod u+x expect_telnet
Scriptul in bash care apeleaza scriptul expect_telnet si care se conecteaza pe un numar de routere cu ip-uri cunoscute( ip-urile sunt salvate in prealabil in ip_host.txt)
Scriptul comennzi_on_host
#!/bin/bash
nr_hosti=`sed -n '$=' ip_host.txt`
increment=1
usr=user
psw=parola
while [ $increment -le $nr_hosti ] ; do
valoare_ip=`head -$increment ip_host.txttail -1`
./expect_telnet "$valoare_ip" "$usr" "$psw"
increment=$(($increment+1))
done
Pentru ca acest script sa poate fii executat trebuie definit ca executabil
chmod u+x comennzi_on_host
Tuesday, 20 October 2009
Subscribe to:
Post Comments (Atom)
No comments:
Post a Comment