在CentOS 6.4下面,使用expect可以对交换机进行批量配置管理,备份配置文件。
先yum -y install expect
然后建立三个文件:command.exp、exec.sh、ip.txt文件,command.exp文件里面是要执行的命令,ip.txt文件里面是要配置的交换机ip地址,一行一个ip。exec.sh从ip.txt读取ip参数调用command.exp执行具体操作。
vi command.exp
#! /usr/bin/expect
set ip [lindex $argv 0]
set timeout 1
spawn ssh -v -2 -c des -q admin@$ip #若是使用telnet登录的话就是这个:spawn telnet $ip
while (1) { #出现保存key对话时输入yes
sleep 1
expect {
"*(yes/no)*" { send "yes\r" }
"*assword*" {break}
}
}
expect "*password:" #等待出现password字样
send "psswrd\r" #发送密码
expect "*>"
send "dis mac-add \r"
log_file $ip.log #记录输出的信息到$ip.log
while (1) {
sleep 1
expect {
" ---- More ----" { send " " } #若匹配" ----More ----",则不断的按空格键
"*found*" { break } #匹配"*found*" 则返回跳出循环
}
}
expect ">"
send "quit\n"
expect eof
vi exec.sh
#! /bin/sh
while read ip
do
./loginfo.exp $ip
done < ip.txt
vi ip.txt
192.168.10.1
192.168.10.2
……
192.168.10.254
然后给command.exp和exec.sh赋予可执行权限,执行
./exec.sh
即可自动批量配置交换机,以上脚本在h3c交换机和cisco交换机测试通过。
阅读(3139) | 评论(0) | 转发(0) |