作为一个网管,很多时候需要定时对设备做好配置备份,以防设备宏基无法启动,配置新的设备时又需要重新调研网络链路。对于某些网络环境拥有百多台设备,而且存在各种品牌的网络设备,一个一个备份是一个痛苦的事情。
以下代码是在Centos7的环境下写的。
需要在系统上安装tftp-server协议和expect工具。具体使用教程自行百度。

vi /home/Network_Config_Backup/start.sh //建立start.sh脚本

#!/bin/bash
#使用该脚本前需要安装tftp,xinetd,expect
#取时间戳
BACKUP_DATA=`date +%Y%m%d`
#创建时间戳的备份目录
mkdir -p /home/Network_Config_Backup/$BACKUP_DATA#TFTP服务根目录授权
chmod 777 /home/Network_Config_Backup/$BACKUP_DATA#修改TFTP根目录
sed -i "s/Network_Config_Backup\/......../Network_Config_Backup\/$BACKUP_DATA/" /etc/xinetd.d/tftp
echo
echo
echo
echo ------------------------------------------------------------
echo
echo          该脚本适用于Cisco、Huawei、H3C 网络设备使用
echo          Cisco使用tftp方式将配置文件上传到服务器
echo          Huawei、H3C使用窗口记录方式获取配置信息
echo
echo ------------------------------------------------------------
echo
echo 备份文件存放位置: /home/Network_Config_Backup/$BACKUP_DATA
echo
echo
echo
service xinetd restart
sleep 4#账号密码及IP地址存放在user.passwd中,通过awk获取所有IP并存放在数组IPADDR(大写)
DEVICENAME=(`cat /home/Network_Config_Backup/user.passwd | awk '{print $1}'`)#for循环,取出所有设备名称devicename(小写)
for devicename in ${DEVICENAME[@]}
do
#输出备份开始时间戳
echo "`date +%H:%M:%S` 开始备份$devicename"#根据设备名称devicename取出相应交换机的IP地址、用户、密码
IPADDR=(`cat /home/Network_Config_Backup/user.passwd | grep "$devicename" | awk '{print $3}'`)
USERNAME=(`cat /home/Network_Config_Backup/user.passwd | grep "$devicename" | awk '{print $4}'`)
PASSWORD=(`cat /home/Network_Config_Backup/user.passwd | grep "$devicename" | awk '{print $5}'`)
TABLE=(`cat /home/Network_Config_Backup/user.passwd | grep "$devicename" | awk '{print $2}'`)if [ $TABLE = Cisco ]
then
/usr/bin/expect >> /dev/null << EOFset timeout 10spawn telnet $IPADDRexpect "*sername:"send "$USERNAME\r"expect "*assword:"send "$PASSWORD\r"expect {"*>" {send "enable\r"expect "*assword:"send "$PASSWORD\r"expect "*#"send "copy running-config tftp:\r"expect "*remote host*"send "68.174.33.233\r"expect "*filename*"send "$devicename\n"expect "*!*"send "\n"}"*#" {send "copy running-config tftp:\r"expect "*remote host*"send "68.174.33.233\r"expect "*filename*"send "$devicename\n"expect "*!*"send "\n"}
}
EOF
elif [ $TABLE = Huawei -o H3C ]
then
/usr/bin/expect >> /dev/null << EOF
set timeout 10log_file /home/Network_Config_Backup/$BACKUP_DATA/$devicenamespawn telnet $IPADDRexpect "*ogin:"send "$USERNAME\r"expect "*assword:"send "$PASSWORD\r"expect "*>"send "display current-configuration\r"while (1) {expect {"*--- More ----" { send " " }"return" { break }}}
EOF
fi
sleep 3#判断备份目录中是否存在$devicename,如果存在则检查文件内是否存在字符串end或者return。如果文件不存在视为备份失败,如果不存在end或者return视为备份失败
if [ -f "/home/Network_Config_Backup/$BACKUP_DATA/$devicename" ];thengrep -E "^end$|^return$" /home/Network_Config_Backup/$BACKUP_DATA/$devicenameif [ $? -eq 0 ];thenecho "$devicename $IPADDR 备份成功"echo "$devicename $IPADDR 备份成功" >> /home/Network_Config_Backup/$BACKUP_DATA/logecho "-------------------------------"elseecho "$devicename $IPADDR 备份失败"echo "$devicename $IPADDR 备份失败" >> /home/Network_Config_Backup/$BACKUP_DATA/logecho "-------------------------------"fi
elseecho "$devicename $IPADDR 备份失败"echo "$devicename $IPADDR 备份失败" >> /home/Network_Config_Backup/$BACKUP_DATA/logecho "-------------------------------"
fidone

chmod 777 /home/Network_Config_Backup/start.sh
新建user.passwd存放设备信息

vi /home/Network_Config_Backup/user.passwd
*设备名 品牌 IP地址 用户名 密码*

修改tftp配置文件

vi /etc/xinetd.d/tftp
service tftp
{     socket_type            =dgramprotocol               =udpwait                   =yesuser                   =rootserver                 =/usr/sbin/in.tftpdserver_args            =-s  /home/Network_Config_Backup/20190101  -cdisable                = noper_source             =11cps                    =100 2flags                  =IPv4
}

./home/Network_Config_Backup/start.sh //执行脚本即可自动备份

Cisco、华为、H3C交换机配置文件自动备份相关推荐

  1. H3C交换机配置文件自动备份

    一.自动配置文件需求 网络中有多台华三交换机,需要每天一定时自动备份配置,并且简单易用. 二.环境条件 交换机:型号S6805-56HF-G,版本Version 7.1.070, Release 60 ...

  2. cisco 交换机 定期 自动 备份配置 -linux,交换机定时自动备份配置文件的方法

    如果一个管理员平时只管理个位数的交换机,而且也不需要经常修改配置,那可以使用手工方式定期保存配置文件,因为一旦设备故障,可以及时导入备份配置恢复网络. 但如果网络里有很多交换机,又要经常修改配置,那让 ...

  3. 交换机定时自动备份配置文件的方法

    如果一个管理员平时只管理个位数的交换机,而且也不需要经常修改配置,那可以使用手工方式定期保存配置文件,因为一旦设备故障,可以及时导入备份配置恢复网络. <br/> 但如果网络里有很多交换机 ...

  4. H3C交换机配置文件用FTP方法备份和恢复 使用SecureCRT,SecureFX

    H3C交换机配置文件用FTP方法备份和恢复,使用SecureCRT,SecureFX对交换机配置文件进行备份和恢复非常方便. 设置Host_1与Host_2网卡IP,网卡选 VirtualBox Ho ...

  5. cisco 交换机 定期 自动 备份配置 -linux,Cisco交换机配置文件定时自动备份

    Cisco交换机配置文件定时自动配备配置操作指引 目的:配置每天自动备份Cisco交换机配置文件到文件服务器. 准备: 搭建fileZilla server 文件服务器: 配置交换机备份命令: 文件服 ...

  6. python备份cisco交换机_1.自动备份思科交换机配置

    自动备份思科交换机配置 2017-10-11 Python 宅必备 这个专题主要是一些日常用到的Python程序,不定期更新~~ 备份原理 首先读取txt文档中的ip地址 然后循环地址,通过是我提出函 ...

  7. 华为H3C交换机+Radius+mysql Radius认证认证方案,嵌入式客户端代码,配置(下:交换机和Radius服务器配置)

    (一交互机配置) 1 802.1x本地认证方案配置 当Radius服务器不可用的时候,需要在交换机本地有一个备用认证方案,用户名和密码设置在交换机上替换Radius Server完成对交换机端口的认证 ...

  8. h3c交换机配置文件的导出

    首先要知道一个命令  就是进入  系统视图 system-view 然后  dir   查看 交换机  flash里的所有文件. 一.使用TFTP方式 步骤1.在PC机"开始菜单" ...

  9. Cisco与H3C交换机互联的小风波

    文章目录 背景信息 常见问题 1. Trunk互联不通 2. 生成树互联丢包不通 3.VRRP不能正常工作? 4.链路聚合不成功,端口不停up/down 5.Cisco偶尔无法ping通H3C 背景信 ...

最新文章

  1. 从事安卓开发6年,我都有哪些收获?
  2. 【项目管理】项目经理每天、每周、每月应该做的都在这
  3. Selenium WebDriver问题--Internet Explorer保护模式设置问题
  4. P12 离散控制系统-《Matlab/Simulink与控制系统仿真》程序指令总结
  5. 惊了!最通俗易懂的Djongo入门竟然在这里!
  6. C#算法设计查找篇之04-斐波那契查找
  7. attributeerror: __enter___python魔法方法之__setattr__()
  8. PCI总线特性及信号说明
  9. 【数学和算法】矩阵运算的相关公式
  10. 【软件安装】win10下Lighttools8.4.0(64)光学系统建模软件的安装教程
  11. 安卓支持AES 256加密解密
  12. [FPGA][基础模块]跨时钟域传播脉冲信号
  13. 使用 html 写一个表达爱意的网页
  14. Qt 开发使用VSCode
  15. 【苹果相册推送位置推送iMessage】软件安装TestFlight计划的信息
  16. OpenCV小案例——批量图片合成为视频
  17. Java开发 - 树(二叉树,二叉排序树,红黑树)
  18. ALM(application lifecycle management)应用程序生命周期管理
  19. 【本人秃顶程序员】技术面试与HR谈薪资的时候有哪些技巧
  20. [篇四章一]_在 VMWare 16 上安装 Windows 98 SE 操作系统

热门文章

  1. flutter从入门到熟练全套学习视频教程
  2. Abaqus后处理 - 常用技巧
  3. 代理沙特SASO贸促会认证
  4. 财务内部收益率用计算机怎么算,财务内部收益率EXCEL怎么计算
  5. php给易语言发消息,易语言实现自动发送QQ信息的代码
  6. 编程之美 1.8 小飞的电梯调度算法
  7. UVM virtual interface
  8. python动态柱状图_动态排名柱状图的两种做法
  9. 数据安全--12--隐私保护浅析
  10. 双色球的简单逻辑!不中五百万天理难容!