当交换机配置发生变化,如何自动备份配置到FTP上?2条命令搞定!
上期分享了交换机配置发生变化时,自动备份配置到FTP上的文章,后面有网友私信来问,龙哥,龙哥能不能教一下每天自动备份的方法呀?
今天它来了!
今天龙哥就教大家如何用python实现每天定时备份交换机配置文件?
1
思路
1、编写好python脚本。
2、交换机开启FTP服务,即把交换机设置成FTP服务器,配置ftp账号密码。
3、利用window的任务计划程序,设置定时任务,如每天某个时刻运行该python脚本,实现定时备份。
2
编写python脚本
python代码如下,很简单。大家要使用的话,复制后修改IP地址、ftp用户名、密码即可。如果备份其他网络设备,需要修改一下设备默认的配置文件名,如华为交换机默认为:vrpcfg.zip
(左右滑动,查看代码)
# more ftp-huawei.py# -*- coding=utf-8 -*-from ftplib import FTPimport time,oshostid="192.168.1.200"Today = time.strftime("%Y-%m-%d", time.localtime)#获取当天时间ftp = FTP#创建变量ftp.set_debuglevel(2)#开启debug模式ftp.connect(host=hostid,port=21)#FTP地址(交换机地址)ftp.login(user="along",passwd="along123")#FTP账号密码print(ftp.getwelcome)#打印ftp登陆成功信息os.chdir('./')#改变当前路径至(已经在该目录下创建了这个文件夹)bufsize=1024filename=hostid + "--{}.zip".format(Today)#创建日期为前缀的zip文件file_handle=open(filename,"wb").write#创建写操作ftp.retrbinary("RETR vrpcfg.zip",file_handle,bufsize)#ftp后获取vrpcfg.zip这个文件并写入本地文件ftp.set_debuglevel(0)#关闭调试模式ftp.quit#关闭FTP
复制上面代码,粘贴到python IDLE,相关参数修改后,文件名后缀记得保存为.py 格式。
如果你的电脑还没安装python的,可以参照如下教程:
Python安装教程(推荐一款不错的Python编辑器)
3
设置交换机FTP相关配置
交换机开启FTP服务功能:
[along]ftp server enable
给交换机创建ftp账号、密码,账号权限级别、ftp路径、账号服务类型添加ftp:
[along]aaa
[along-aaa] local-useralongpassword irreversible-cipheralong123
[along-aaa]local-user along privilege level 15
[along-aaa]local-user along ftp-directory flash:
[along-aaa]local-user along service-type http ftp
设置交换机vty登录认证模式为:aaa ,即调用aaa 刚才创建的ftp账号、密码:
[along]user-interface vty 0 4
[along-ui-vty0-4] authentication-mode aaa
交换机确保网络的连通性:
vlan 10
#
interface Vlanif10
ip address 192.168.1.200 255.255.255.0
#
interface GigabitEthernet0/0/24
port link-type access
port default vlan 10
#
交换机 ping 我的电脑 能通:
本次龙哥测试环境非常简单,就是用交换机真机 直连 我的台式电脑,实际运用中:你们要确保网络的连通性 和 TP端口可达即可。
测试一下,python脚本是否可用? 双击该程序即可。
双击后,会发现多了一个文件:
打开该文件,对比配置,确实没错,测试通过!
4
设置周期定时任务
如果我们需要每天定时去备份配置,我们可以利用window系统的“任务计划程序”来实现。
任务计划程序在哪里? 你可以直接搜索 或 控制面板打开:
或控制面板:
接下来,开始创建任务:
1、点击创建任务
然后选择 操作、新建:
条件、设置:默认设置即可
测试,验证成功,已在规定的时间,执行该脚本,实现定期备份了:
怎么样?如果觉得不错,就点个赞呗~ 给点鼓励鼓励哈~