Chinaunix首页 | 论坛 | 博客
  • 博客访问: 391099
  • 博文数量: 58
  • 博客积分: 842
  • 博客等级: 准尉
  • 技术积分: 797
  • 用 户 组: 普通用户
  • 注册时间: 2009-04-22 21:20
文章分类

全部博文(58)

文章存档

2019年(1)

2018年(2)

2017年(3)

2016年(8)

2015年(1)

2014年(8)

2013年(8)

2012年(9)

2011年(5)

2010年(2)

2009年(11)

我的朋友

分类: 网络与安全

2014-02-26 16:49:14

在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交换机测试通过。
阅读(1945) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~
评论热议
请登录后评论。

登录 注册