背景:

公司有上百台二层交换机设备,有Cisco和H3C的设备,当需要批量变更配置时非常的消耗工作量

解决:

通过一台Linux服务器,编写shell脚本,模拟Telnet至各台交换机,让一切变的很容易

1首先Linux服务器安装Telnet客户端即可
2将交换机的地址和账号密码录入至一个可达的文档中即可
3通过shell脚本进行循环处理

一下例子为我一个批量添加snmp的配置脚本,可以通过此模板修改任意配置:
讲交换机清单记录在addsnmplist文件中,脚本开始前会先去确认清单中的地址是否在线,如在线即进入修改配置,最后将配置完成的和不在线的均记录日志

#!/bin/bash
telnetpwd='xxxxx'
enpwd='xxxxxx'
switch='/root/ops/addsnmplist'
for i in `cat $switch`;do
                if ping -W2 -c 2 $i &>/dev/null;then
                                (sleep 2;
                                echo $telnetpwd;
                                sleep 2;
                                echo en;
                                sleep 2;
                                echo $enpwd;
                                sleep 2;
                                echo 'configure terminal';
                                sleep 2;
                                echo 'snmp-server community xxxxx ro';
                                sleep 2;
                                echo 'snmp-server community xxxx rw';
                                sleep 2;
                                echo 'exit'
                                sleep 2;
                                echo 'wr';
                                sleep 10;
                                ) | telnet $i
                                echo "$i snmp add ok" >>/root/ops/log/addsnmp.log
                else
                                echo "$i is down" >>/root/ops/log/addsnmp.log
                fi
done