干货 | 如何用python实现每天定时备份交换机配置文件? 真香~

上期分享了交换机配置发生变化时,自动备份配置到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实现每天定时备份交换机配置文件? 真香~

Python安装教程(推荐一款不错的Python编辑器)





3设置交换机FTP相关配置




交换机开启FTP服务功能:


[along]ftp server enable



给交换机创建ftp账号、密码,账号权限级别、ftp路径、账号服务类型添加ftp:

[along]aaa

[along-aaa] local-user along password 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实现每天定时备份交换机配置文件? 真香~




测试一下,python脚本是否可用?  双击该程序即可。


干货 | 如何用python实现每天定时备份交换机配置文件? 真香~


双击后,会发现多了一个文件:

干货 | 如何用python实现每天定时备份交换机配置文件? 真香~


干货 | 如何用python实现每天定时备份交换机配置文件? 真香~


打开该文件,对比配置,确实没错,测试通过!

干货 | 如何用python实现每天定时备份交换机配置文件? 真香~




4设置周期定时任务



如果我们需要每天定时去备份配置,我们可以利用window系统的“任务计划程序”来实现。


任务计划程序在哪里?  你可以直接搜索  或 控制面板打开:


干货 | 如何用python实现每天定时备份交换机配置文件? 真香~


或控制面板:


干货 | 如何用python实现每天定时备份交换机配置文件? 真香~

干货 | 如何用python实现每天定时备份交换机配置文件? 真香~

接下来,开始创建任务:


1、点击创建任务


干货 | 如何用python实现每天定时备份交换机配置文件? 真香~



干货 | 如何用python实现每天定时备份交换机配置文件? 真香~



干货 | 如何用python实现每天定时备份交换机配置文件? 真香~


干货 | 如何用python实现每天定时备份交换机配置文件? 真香~


干货 | 如何用python实现每天定时备份交换机配置文件? 真香~


然后选择 操作、新建:

干货 | 如何用python实现每天定时备份交换机配置文件? 真香~

干货 | 如何用python实现每天定时备份交换机配置文件? 真香~


条件、设置:默认设置即可

干货 | 如何用python实现每天定时备份交换机配置文件? 真香~


干货 | 如何用python实现每天定时备份交换机配置文件? 真香~


干货 | 如何用python实现每天定时备份交换机配置文件? 真香~



测试,验证成功,已在规定的时间,执行该脚本,实现定期备份了:

干货 | 如何用python实现每天定时备份交换机配置文件? 真香~


上一篇:C++中使用typeof struct 和不使用typeof的区别


下一篇:1045-Access denied for user 'aaa'@'192.168.1.3'(using password:YES)