- 論壇徽章:
- 0
|
set loginuser "root"
set ipaddr [lindex $argv 0]
set loginpass [lindex $argv 1]
set timeout 300
set cmd_prompt "]#|~]?"
#-------------------------------------------------- login by ssh
spawn ssh $loginuser@$ipaddr
set timeout 300
expect {
-re "Are you sure you want to continue connecting (yes/no)?" {
send "yes\r"
} -re "assword:" {
send "$loginpass\r"
} -re "Permission denied, please try again." {
exit
} -re "Connection refused" {
exit
} timeout {
exit
} eof {
send "echo'can not connect $ipaddr'>/root/error\r"
exit
}
}
expect {
-re "assword:" {
send "$loginpass\r"
}
-re $cmd_prompt {
send "\r"
}
}
#---------------------------------------------------- now,we do some commands
exec sleep 1
expect {
-re $cmd_prompt {
send "df -h\r"
}
}
#--------------------------------------------------
expect {
-re $cmd_prompt {
send "exit\r"
}
}
exit
#interact
本意就是想在批量對(duì)遠(yuǎn)程服務(wù)器進(jìn)行執(zhí)行腳本動(dòng)作的時(shí)候,如果有密碼不對(duì)的或者windows主機(jī) 等情況記錄下來(lái)輸入到本地機(jī)的一個(gè)文件里。
這個(gè)應(yīng)該怎么寫? |
|