亚洲av成人无遮挡网站在线观看,少妇性bbb搡bbb爽爽爽,亚洲av日韩精品久久久久久,兔费看少妇性l交大片免费,无码少妇一区二区三区

  免費注冊 查看新帖 |

Chinaunix

  平臺 論壇 博客 文庫
最近訪問板塊 發(fā)新帖
查看: 24683900 | 回復: 24683900
打印 上一主題 下一主題

[學習共享] Shell備份交換機配置,文檔! [復制鏈接]

論壇徽章:
0
跳轉到指定樓層
1 [收藏(0)] [報告]
發(fā)表于 2014-05-10 11:38 |只看該作者 |倒序瀏覽
本帖最后由 kingsh2012 于 2014-05-11 18:43 編輯

感謝http://blog.chinaunix.net/uid-20569113-id-2793105.html

感謝shell板塊里面的大神們幫助,有什么問題,和好的建議幫忙提出,謝謝。

需求介紹

本人管理校園網(wǎng),當學校大規(guī)模停電在來電的時候,有很多交換機會掛掉,還得從新配置交換機,特殊的端口,如一卡通,水電管理都是通過網(wǎng)絡傳輸數(shù)據(jù),當網(wǎng)線和端口插錯就很麻煩,所以寫了個腳本來備份這些交換機配置。
400多臺交換機,多種型號。

目錄結構

switch/
├─check/
│     cfgfile.sh 讀取成功上傳配置的IP地址
│     source.sh  讀取switch.conf的IP地址
├─errlog/
│  沒有上傳配置的交換機生成日志
├─log/
│  整個備份的過程生成日志

│ info.sh       查看備份狀況程序
│ run.sh        主備份程序
│ switch.conf   存放IP地址,用戶名,密碼,配置文件名稱

run.sh

  1. #!/bin/bash

  2. ################################################################################
  3. ##########

  4. #TFTP Server Size
  5. TFTP_IP=10.110.0.222

  6. #Switch Config File (user,password,ip)
  7. Switch_conf=switch.conf

  8. #Now date
  9. Daliy="$(date +%Y-%m-%d)"

  10. ################################################################################
  11. #########

  12. while read SW_INFO; do

  13.   FACTORY=`echo $SW_INFO | awk -F"," '{print $1}'`

  14.   SW_IP=`echo $SW_INFO | awk -F"," '{print $2}'`

  15.   TELNET_NAME=`echo $SW_INFO | awk -F"," '{print $3}'`

  16.   TELNET_PASSWD=`echo $SW_INFO | awk -F"," '{print $4}'`

  17.   SWITCH_CONF=`echo $SW_INFO | awk -F"," '{print $5}'`

  18.   (
  19.     #銳捷交換機
  20.     if [ "$FACTORY" = "rj" ];then
  21. expect<<EOF
  22.       spawn telnet $SW_IP

  23.       expect "Username:"
  24.       send "$TELNET_NAME\r"

  25.       expect "Password:"
  26.       send "$TELNET_PASSWD\r"

  27.       send "copy running-config startup-config\r"
  28.       send "copy startup-config tftp:\r"
  29.       send "$TFTP_IP\r"
  30.       send "$SW_IP.txt\r"
  31.       send "! ##############################################################\r"
  32.       send "exit\r"
  33.       expect eof
  34. EOF
  35.     fi

  36.     #6506
  37.     if [ "$FACTORY" = "6506" ];then
  38. expect<<EOF
  39.       spawn telnet $SW_IP

  40.       expect "Password:"
  41.       send "$TELNET_NAME\r"

  42.       expect "*>"
  43.       send "enable\r"

  44.       expect "Password:"
  45.       send "$TELNET_PASSWD\r"

  46.       send "copy running-config startup-config\r"
  47.       send "copy startup-config tftp:\r"
  48.       send "$TFTP_IP\r"
  49.       send "$SW_IP.txt\r"
  50.       send "! ##############################################################\r"
  51.       send "exit\r"
  52.       expect eof
  53. EOF
  54.    fi

  55.     #華為交換機
  56.     if [ "$FACTORY" = "hw" ];then
  57. expect<<EOF
  58.       spawn telnet $SW_IP
  59.       expect "Password:"
  60.       send "$TELNET_PASSWD\r"
  61.       send "tftp ${TFTP_IP} put ${SWITCH_CONF} ${SW_IP}.zip\n\r"
  62.       exec sleep 1
  63.       send "# ############################################################\n\r"
  64.       send "quit\n\r"
  65.       expect eof
  66. EOF
  67.     fi

  68.     #h3c交換機
  69.     if [ "$FACTORY" = "h3c" ];then
  70. expect<<EOF
  71.       spawn telnet $SW_IP
  72.       expect "Password:"
  73.       send "$TELNET_PASSWD\r"
  74.       send "tftp ${TFTP_IP} put ${SWITCH_CONF} ${SW_IP}.cfg\r";
  75.       send "! ##############################################################\r"
  76.       send "quit\r"
  77.       expect eof
  78. EOF
  79.     fi

  80.     #華為2126型號交換機
  81.     if [ "$FACTORY" = "hw2126" ];then
  82. expect<<EOF
  83.       spawn telnet $SW_IP
  84.       expect "Password:"
  85.       send "$TELNET_PASSWD\r"
  86.       send "sys\r"
  87.       send "tftp put ${SWITCH_CONF} //${TFTP_IP}/${SW_IP}.cfg\r";
  88.       send "! ##############################################################\r"
  89.       send "quit\r"
  90.       send "quit\r"
  91.       expect eof
  92. EOF
  93.     fi

  94.     #凱創(chuàng)交換機
  95.     if [ "$FACTORY" = "kc" ];then
  96.       echo "ERROR!!!!"
  97. #expect<<EOF
  98. #      spawn telnet $SW_IP
  99. #      expect "Username:"
  100. #      send "$TELNET_NAME\r"
  101. #      expect "Password:"
  102. #      send "$TELNET_PASSWD\r"

  103. #EOF
  104.     fi
  105.   )|tee -a ./log/switch_backup_$Daliy.log
  106. done <  $Switch_conf
  107. exit 0
復制代碼
  info.sh

  1. #!/bin/bash
  2. #工作目錄
  3. cd /opt/switch/check/

  4. #當前時間
  5. Daliy="$(date +%Y-%m-%d)"

  6. ./source.sh > 1.txt
  7. ./cfgfile.sh > 2.txt

  8. sort -n 1.txt > 3.txt
  9. sort -n 2.txt > 4.txt


  10. #成功備份數(shù)
  11. cd /opt/Switch_config_file
  12. echo "##########################################################"
  13. echo "總共交換機數(shù)"
  14. awk 'END{print NR}' /opt/switch/switch.conf

  15. echo "成功備份交換機數(shù)"
  16. #ll  |grep "^-" | wc -l 其實應該用這個命令查看文件下的文件數(shù)
  17. find ./ -type f | wc -l
  18. echo "##########################################################"

  19. #文件對比
  20. cd /opt/switch/check
  21. echo "備份失敗的交換機!"
  22. comm -3 3.txt 4.txt > /opt/switch/errlog/err_$Daliy.log
  23. comm -3 3.txt 4.txt
  24. echo "##########################################################"

  25. #刪除.txt文件
  26. rm -rf *.txt
復制代碼
cfgfile.sh

  1. #!/bin/bash
  2. #讀取TFTP文件夾內的文件
  3. Folder_A="/opt/Switch_config_file"
  4. for file_a in ${Folder_A}/*; do
  5.     temp_file=`basename ${file_a%.*}`
  6.     echo $temp_file
  7. done
復制代碼
source.sh

  1. #/bin/bash
  2. #工作目錄
  3. #cd /opt/switch/
  4. file="/opt/switch/switch.conf"
  5. #執(zhí)行目錄
  6. while read SW_INFO; do
  7. SW_IP=`echo $SW_INFO | awk -F"," '{print $2}'`
  8. (
  9.   echo $SW_IP
  10. )
  11. done < $file
復制代碼

論壇徽章:
15
2015年辭舊歲徽章
日期:2015-03-03 16:54:15雙魚座
日期:2015-01-15 17:29:44午馬
日期:2015-01-06 17:06:51子鼠
日期:2014-11-24 10:11:13寅虎
日期:2014-08-18 07:10:55酉雞
日期:2014-04-02 12:24:51雙子座
日期:2014-04-02 12:19:44天秤座
日期:2014-03-17 11:43:36亥豬
日期:2014-03-13 08:13:51未羊
日期:2014-03-11 12:42:03白羊座
日期:2013-11-20 10:15:18CU大牛徽章
日期:2013-04-17 11:48:45
2 [報告]
發(fā)表于 2014-05-10 18:46 |只看該作者
謝謝分享

論壇徽章:
5
2015年辭舊歲徽章
日期:2015-03-03 16:54:152015年迎新春徽章
日期:2015-03-04 09:50:282015年亞洲杯之朝鮮
日期:2015-03-13 22:47:33IT運維版塊每日發(fā)帖之星
日期:2016-01-09 06:20:00IT運維版塊每周發(fā)帖之星
日期:2016-03-07 16:27:44
3 [報告]
發(fā)表于 2014-05-10 23:07 |只看該作者
回復 1# kingsh2012


    好文!

論壇徽章:
3
水瓶座
日期:2014-02-20 12:02:14天蝎座
日期:2014-03-19 14:04:46水瓶座
日期:2014-07-26 20:01:02
4 [報告]
發(fā)表于 2014-05-11 01:30 |只看該作者
很不錯的貼,mark一下,日常運維說不定需要用到。

論壇徽章:
3
水瓶座
日期:2014-02-20 12:02:14天蝎座
日期:2014-03-19 14:04:46水瓶座
日期:2014-07-26 20:01:02
5 [報告]
發(fā)表于 2014-05-11 01:30 |只看該作者
很不錯的貼,mark一下,日常運維說不定需要用到。

論壇徽章:
5
2015年辭舊歲徽章
日期:2015-03-03 16:54:152015年迎新春徽章
日期:2015-03-04 09:50:282015年亞洲杯之朝鮮
日期:2015-03-13 22:47:33IT運維版塊每日發(fā)帖之星
日期:2016-01-09 06:20:00IT運維版塊每周發(fā)帖之星
日期:2016-03-07 16:27:44
6 [報告]
發(fā)表于 2014-05-11 08:46 |只看該作者
回復 1# kingsh2012


    誤寫? 有兩個"cfgfile.sh", 其中一個應該是 "source.sh" 吧。

論壇徽章:
0
7 [報告]
發(fā)表于 2014-05-11 10:20 |只看該作者
回復 6# blackold


    謝謝,馬虎了,已經修改了。

論壇徽章:
0
8 [報告]
發(fā)表于 2014-12-16 13:42 |只看該作者
不錯,正好想怎么實現(xiàn)自動備份交換機配置,有值得借鑒的地方。

論壇徽章:
0
9 [報告]
發(fā)表于 2015-09-21 16:05 |只看該作者
學習·······················

論壇徽章:
22
處女座
日期:2014-10-11 13:33:292015亞冠之塔什干火車頭
日期:2015-07-20 19:59:042015亞冠之塔什干火車頭
日期:2015-07-26 10:59:31程序設計版塊每日發(fā)帖之星
日期:2015-08-05 06:20:00每日論壇發(fā)貼之星
日期:2015-08-05 06:20:00程序設計版塊每日發(fā)帖之星
日期:2015-08-07 06:20:00每日論壇發(fā)貼之星
日期:2015-08-07 06:20:002015亞冠之阿爾納斯爾
日期:2015-10-01 15:23:28白銀圣斗士
日期:2015-12-07 17:17:06操作系統(tǒng)版塊每日發(fā)帖之星
日期:2015-12-27 06:20:002015亞冠之廣州富力
日期:2015-07-08 15:48:31程序設計版塊每日發(fā)帖之星
日期:2015-06-11 22:20:00
10 [報告]
發(fā)表于 2015-09-22 14:25 |只看該作者
那個run.sh可以優(yōu)化下,將if判斷改為case語句,將expect部分放到函數(shù)里,然后用位置參數(shù)傳遞變量,愚見。
您需要登錄后才可以回帖 登錄 | 注冊

本版積分規(guī)則 發(fā)表回復

  

北京盛拓優(yōu)訊信息技術有限公司. 版權所有 京ICP備16024965號-6 北京市公安局海淀分局網(wǎng)監(jiān)中心備案編號:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年舉報專區(qū)
中國互聯(lián)網(wǎng)協(xié)會會員  聯(lián)系我們:huangweiwei@itpub.net
感謝所有關心和支持過ChinaUnix的朋友們 轉載本站內容請注明原作者名及出處

清除 Cookies - ChinaUnix - Archiver - WAP - TOP