码迷,mamicode.com
首页 > 其他好文 > 详细

使用expect批量自动备份启明防火墙配置

时间:2015-01-14 18:19:25      阅读:162      评论:0      收藏:0      [点我收藏+]

标签:expect

#!/usr/bin/expect -f 


if { $argc != 3 } {  

send_user "用法: $argv0 <server> <login> <password>\n"  

exit  

}  

   

set timeout 1 

set TERM ANSI  

  

set SERVER [lindex $argv 0]  

set LOGIN  [lindex $argv 1]

set PASSWD [lindex $argv 2] 

  

spawn telnet  

expect "telnet> "  

send "open $SERVER\r"

sleep 10

expect "login:"

send "$LOGIN\r"

sleep 1

expect "Password:"  

send "$PASSWD\r"  

sleep 1

expect "*>"  

send "en\r"  

sleep 1

expect "*#"  


log_file /var/log/conf/[clock format [clock seconds] -format "%Y-%m-%d"].$SERVER.log

  

send "show run\r"  


while (1) {  

       sleep 1  

        expect {  

                -ex "--More-- " { send " " }                           #-ex的作用是告诉expect 在抓取“--More-- ”时第一个“--”前没有空格,否则会提示bad flag

                "*#" { break }  

}  

}  

send "exit\r"  


interact


本文出自 “学无止境” 博客,转载请与作者联系!

使用expect批量自动备份启明防火墙配置

标签:expect

原文地址:http://johnsz.blog.51cto.com/525379/1603890

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!