1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39
| #!/usr/bin/expect -f
#Option session
set force_conservative 1 ;
match_max 1000000000
set timeout 5
#Edit for User
set user
#Edit for Password
set password
#Get IP List from hosts.txt
set f [open "/XXXX/hosts.txt"]
set data [read $f]
close $f
foreach line [split $data \n] {
if {$line eq {}} continue
spawn -noecho ssh -q -o StrictHostKeyChecking=no $user@$line
sleep 2
expect {
"XX@$line's password:" {
send "$password\r"
expect {
"" {
expect "** WARNING: THIS DEVICE HAS BOOTED FROM THE BACKUP JUNOS IMAGE **\r"
set output $expect_out(buffer)
if {[regexp {BACKUP} $output matched sub1 sub2]} {
set BACKUP [open /XXXX/partition_backup.list a+]
puts $BACKUP "$line"
close $BACKUP
} else {
puts "$line OK"
}
send "exit\r"
continue
}}}}} |