亚洲av成人无遮挡网站在线观看,少妇性bbb搡bbb爽爽爽,亚洲av日韩精品久久久久久,兔费看少妇性l交大片免费,无码少妇一区二区三区
Chinaunix
標(biāo)題:
Shell備份交換機(jī)配置,文檔!
[打印本頁(yè)]
作者:
kingsh2012
時(shí)間:
2014-05-10 11:38
標(biāo)題:
Shell備份交換機(jī)配置,文檔!
本帖最后由 kingsh2012 于 2014-05-11 18:43 編輯
感謝
http://blog.chinaunix.net/uid-20569113-id-2793105.html
感謝shell板塊里面的大神們幫助,有什么問(wèn)題,和好的建議幫忙提出,謝謝。
需求介紹
本人管理校園網(wǎng),當(dāng)學(xué)校大規(guī)模停電在來(lái)電的時(shí)候,有很多交換機(jī)會(huì)掛掉,還得從新配置交換機(jī),特殊的端口,如一卡通,水電管理都是通過(guò)網(wǎng)絡(luò)傳輸數(shù)據(jù),當(dāng)網(wǎng)線和端口插錯(cuò)就很麻煩,所以寫了個(gè)腳本來(lái)備份這些交換機(jī)配置。
400多臺(tái)交換機(jī),多種型號(hào)。
目錄結(jié)構(gòu)
switch/
├─check/
│ cfgfile.sh 讀取成功上傳配置的IP地址
│ source.sh 讀取switch.conf的IP地址
├─errlog/
│ 沒有上傳配置的交換機(jī)生成日志
├─log/
│ 整個(gè)備份的過(guò)程生成日志
│
│ info.sh 查看備份狀況程序
│ run.sh 主備份程序
│ switch.conf 存放IP地址,用戶名,密碼,配置文件名稱
run.sh
#!/bin/bash
################################################################################
##########
#TFTP Server Size
TFTP_IP=10.110.0.222
#Switch Config File (user,password,ip)
Switch_conf=switch.conf
#Now date
Daliy="$(date +%Y-%m-%d)"
################################################################################
#########
while read SW_INFO; do
FACTORY=`echo $SW_INFO | awk -F"," '{print $1}'`
SW_IP=`echo $SW_INFO | awk -F"," '{print $2}'`
TELNET_NAME=`echo $SW_INFO | awk -F"," '{print $3}'`
TELNET_PASSWD=`echo $SW_INFO | awk -F"," '{print $4}'`
SWITCH_CONF=`echo $SW_INFO | awk -F"," '{print $5}'`
(
#銳捷交換機(jī)
if [ "$FACTORY" = "rj" ];then
expect<<EOF
spawn telnet $SW_IP
expect "Username:"
send "$TELNET_NAME\r"
expect "Password:"
send "$TELNET_PASSWD\r"
send "copy running-config startup-config\r"
send "copy startup-config tftp:\r"
send "$TFTP_IP\r"
send "$SW_IP.txt\r"
send "! ##############################################################\r"
send "exit\r"
expect eof
EOF
fi
#6506
if [ "$FACTORY" = "6506" ];then
expect<<EOF
spawn telnet $SW_IP
expect "Password:"
send "$TELNET_NAME\r"
expect "*>"
send "enable\r"
expect "Password:"
send "$TELNET_PASSWD\r"
send "copy running-config startup-config\r"
send "copy startup-config tftp:\r"
send "$TFTP_IP\r"
send "$SW_IP.txt\r"
send "! ##############################################################\r"
send "exit\r"
expect eof
EOF
fi
#華為交換機(jī)
if [ "$FACTORY" = "hw" ];then
expect<<EOF
spawn telnet $SW_IP
expect "Password:"
send "$TELNET_PASSWD\r"
send "tftp ${TFTP_IP} put ${SWITCH_CONF} ${SW_IP}.zip\n\r"
exec sleep 1
send "# ############################################################\n\r"
send "quit\n\r"
expect eof
EOF
fi
#h3c交換機(jī)
if [ "$FACTORY" = "h3c" ];then
expect<<EOF
spawn telnet $SW_IP
expect "Password:"
send "$TELNET_PASSWD\r"
send "tftp ${TFTP_IP} put ${SWITCH_CONF} ${SW_IP}.cfg\r";
send "! ##############################################################\r"
send "quit\r"
expect eof
EOF
fi
#華為2126型號(hào)交換機(jī)
if [ "$FACTORY" = "hw2126" ];then
expect<<EOF
spawn telnet $SW_IP
expect "Password:"
send "$TELNET_PASSWD\r"
send "sys\r"
send "tftp put ${SWITCH_CONF} //${TFTP_IP}/${SW_IP}.cfg\r";
send "! ##############################################################\r"
send "quit\r"
send "quit\r"
expect eof
EOF
fi
#凱創(chuàng)交換機(jī)
if [ "$FACTORY" = "kc" ];then
echo "ERROR!!!!"
#expect<<EOF
# spawn telnet $SW_IP
# expect "Username:"
# send "$TELNET_NAME\r"
# expect "Password:"
# send "$TELNET_PASSWD\r"
#EOF
fi
)|tee -a ./log/switch_backup_$Daliy.log
done < $Switch_conf
exit 0
復(fù)制代碼
info.sh
#!/bin/bash
#工作目錄
cd /opt/switch/check/
#當(dāng)前時(shí)間
Daliy="$(date +%Y-%m-%d)"
./source.sh > 1.txt
./cfgfile.sh > 2.txt
sort -n 1.txt > 3.txt
sort -n 2.txt > 4.txt
#成功備份數(shù)
cd /opt/Switch_config_file
echo "##########################################################"
echo "總共交換機(jī)數(shù)"
awk 'END{print NR}' /opt/switch/switch.conf
echo "成功備份交換機(jī)數(shù)"
#ll |grep "^-" | wc -l 其實(shí)應(yīng)該用這個(gè)命令查看文件下的文件數(shù)
find ./ -type f | wc -l
echo "##########################################################"
#文件對(duì)比
cd /opt/switch/check
echo "備份失敗的交換機(jī)!"
comm -3 3.txt 4.txt > /opt/switch/errlog/err_$Daliy.log
comm -3 3.txt 4.txt
echo "##########################################################"
#刪除.txt文件
rm -rf *.txt
復(fù)制代碼
cfgfile.sh
#!/bin/bash
#讀取TFTP文件夾內(nèi)的文件
Folder_A="/opt/Switch_config_file"
for file_a in ${Folder_A}/*; do
temp_file=`basename ${file_a%.*}`
echo $temp_file
done
復(fù)制代碼
source.sh
#/bin/bash
#工作目錄
#cd /opt/switch/
file="/opt/switch/switch.conf"
#執(zhí)行目錄
while read SW_INFO; do
SW_IP=`echo $SW_INFO | awk -F"," '{print $2}'`
(
echo $SW_IP
)
done < $file
復(fù)制代碼
作者:
rdcwayx
時(shí)間:
2014-05-10 18:46
謝謝分享
作者:
blackold
時(shí)間:
2014-05-10 23:07
回復(fù)
1#
kingsh2012
好文!
作者:
haokoo
時(shí)間:
2014-05-11 01:30
很不錯(cuò)的貼,mark一下,日常運(yùn)維說(shuō)不定需要用到。
作者:
haokoo
時(shí)間:
2014-05-11 01:30
很不錯(cuò)的貼,mark一下,日常運(yùn)維說(shuō)不定需要用到。
作者:
blackold
時(shí)間:
2014-05-11 08:46
回復(fù)
1#
kingsh2012
誤寫? 有兩個(gè)"cfgfile.sh", 其中一個(gè)應(yīng)該是 "source.sh" 吧。
作者:
kingsh2012
時(shí)間:
2014-05-11 10:20
回復(fù)
6#
blackold
謝謝,馬虎了,已經(jīng)修改了。
作者:
yscisco
時(shí)間:
2014-12-16 13:42
不錯(cuò),正好想怎么實(shí)現(xiàn)自動(dòng)備份交換機(jī)配置,有值得借鑒的地方。
作者:
191531837
時(shí)間:
2015-09-21 16:05
學(xué)習(xí)·······················
作者:
聆雨淋夜
時(shí)間:
2015-09-22 14:25
那個(gè)run.sh可以優(yōu)化下,將if判斷改為case語(yǔ)句,將expect部分放到函數(shù)里,然后用位置參數(shù)傳遞變量,愚見。
作者:
expert1
時(shí)間:
2015-09-22 16:31
回復(fù)
1#
kingsh2012
問(wèn)下,copy running-config tftp這個(gè)必須要通過(guò)telnet或者console才能做吧?ssh之類的做不了吧? 謝謝!寫的不錯(cuò)。
作者:
reb00t
時(shí)間:
2015-09-23 09:25
回復(fù)
11#
expert1
ssh可以,,telnet跟ssh都是遠(yuǎn)程登錄,ssh的數(shù)據(jù)包是加密的,telnet是明文的,可以被抓包獲取你登錄服務(wù)器的ip,跟密碼。~
建議交換機(jī)都采用ssh通信登錄。。
作者:
bxj1979hack
時(shí)間:
2018-05-26 00:11
是哪里抄來(lái)的吧,根本無(wú)法正常執(zhí)行
作者:
bxj1979hack
時(shí)間:
2018-05-26 00:11
是哪里抄來(lái)的吧,根本無(wú)法正常執(zhí)行
作者:
bxj1979hack
時(shí)間:
2018-05-26 00:11
是哪里抄來(lái)的吧,根本無(wú)法正常執(zhí)行
歡迎光臨 Chinaunix (http://www.72891.cn/)
Powered by Discuz! X3.2