經過linux的shell腳本批量處理交換機配置變動

背景: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
相關文章
相關標籤/搜索