shell脚本批量备份交换机配置文件

shell脚本批量备份交换机配置文件

  • 背景
  • 步骤

背景

对于中小型网络来说,网络设备相对较少,维护相对简单,即使出现故障解决起来也相对较快。

而大型网络一般结构复杂,设备数量多,不同网络区域的设备配置大多不同,不可能记住所有设备配置。当修改配置后未及时保存,某天意外断电后,恢复起来非常麻烦。或者发生了误操作,未能及时发现,找起来也是比较麻烦的。这时候,备份设备配置就显得尤为重要。

而手动备份配置文件是件很枯燥的、重复的工作,当设备数量比较多时会浪费大量时间。

既然这是件重复的工作,我们可不可以用脚本或其他工具定时自动批量备份设备文件呢?
这里分享下如何使用shell脚本自动批量备份交换机配置文件。

步骤

1、 首先,获取配置文件路径及文件名

在用户视图下使用dir命令找到配置文件在设备上的保存路径和配置文件名称。

不同型号设备配置文件的默认存储位置不同,常见的有flash:/和cfcard:/。华为设备默认配置文件名为vrpcfg.zip,华三设备默认配置文件名为config.cfg。

 dir

shell脚本批量备份交换机配置文件_第1张图片

2、其次,开启ftp功能

在需要备份配置文件的设备上开启ftp功能并设置能使用ftp登录的用户

 dir
[Huawei] ftp server enable                             	//开启ftp
[Huawei] aaa
[Huawei-aaa] local-user admin ftp-directory cfcard:/     		//设置默认路径
[Huawei-aaa] local-user admin service-type terminal telnet ftp	//允许admin用户通过ftp登录

3、然后,准备脚本文件

我们需要准备两个文件:address.txt、script.sh

address.txt的主要作用:向script.sh输入设备IP地址、设备名称(可选)、用户名(可选)、密码(可选)。如果所有设备使用同一个用户名和密码,则可以写入script.sh中作为变量。

script.sh的主要作用:执行ftp登录,下载配置文件,修改配置文件名。

首先是address.txt,示例中设备使用同一个用户名和密码。
192.168.10.254 办公汇聚
192.168.20.254 服务器汇聚

然后是script.sh

#!/bin/bash
Date=`date +%Y%m%d`             			#备份日期

while read ip name							#读取IP和设备名称
do
	ftp -n << EOF
	open $ip
	user
	admin TestPassword						#用户名和密码
	binary
	get vrpcfg.zip							#配置文件名称,此处需根据待备份设备填写
	quit
EOF
mv vrpcfg.zip config/$ip-$name-$Date.zip	#移动文件并修改备份的文件名
done < address.txt

4、最后,使用bash script.sh命令执行就好了
shell脚本批量备份交换机配置文件_第2张图片

你可能感兴趣的:(网络工程,Linux,运维,linux)