背景:shell
公司有上百台二层交换机设备,有Cisco和H3C的设备,当须要批量变动配置时很是的消耗工做量bash
解决:服务器
经过一台Linux服务器,编写shell脚本,模拟Telnet至各台交换机,让一切变的很容易ide
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