151-5197-5087
扬州华为授权服务中心
当前位置:网站首页 > 网络设备调试 正文 网络设备调试

python3备份交换机配置脚本

2024-12-05 23:11:09 网络设备调试 25 ℃ 0 评论
公司交换机、防火墙20台左右,理论上定期需要进行备份,可是这种需要人亲自去做的事情经常容易忘记,所以打算写个简单的python脚本自动备份。

方法一、比较新的网络设备现在都支持save后10分钟自动ftp备份配置到ftp服务器,可是我这里有部分华为S5700旧款没有这个功能,无法用统一方法进行备份,不采纳。

方法二、python3下可以下载一些模块进行自动ssh设备并操作,如:paramiko、pexpect。可是我用的时候发现居然无法翻页(dis cu 的时候想按空格一直往下刷做不到),这两个模块摸索浪费了我很长时间都无法实现,不采纳。

方法三、使用python3标准库ftplib里面的FTP模块实现在linux上定时ftp到交换机下载相应的配置文件,接下来讲的就是这种方式:

 1、交换机配置好ftp,相关配置自行谷歌百度,配置好后本地ftp上去是这样的


其中vrpcfg.zip就是配置文件

2、python3脚本
单一备份
from ftplib import FTP
import time,os
Today = time.strftime("%Y-%m-%d", time.localtime())#获取当天时间2017-03-27
ftp = FTP()#创建变量
ftp.set_debuglevel(2)#开启debug模式
ftp.connect(host="192.168.254.X",port=21)#FTP地址(交换机地址)
ftp.login(user="admin",passwd="XXXXXXXX")#FTP账号密码
print(ftp.getwelcome())#打印ftp登陆成功信息
os.chdir('./192.168.254.242')#改变当前路径至192.168.254.242(已经在该目录下创建了这个文件夹)
bufsize=1024#不太理解
filename="{}.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

批量备份
from ftplib import FTP
import time,os
Today = time.strftime("%Y-%m-%d", time.localtime())
hosts = ['192.168.254.X',
         '192.168.254.X',
         '192.168.254.X',
         '192.168.254.X',
         '192.168.254.X',
         '192.168.254.X',
         '192.168.254.X',
         '192.168.254.X',
         '192.168.254.X',
         '192.168.254.X']
port = 21
user = 'admin'
pwd = 'XXXXXX'
for host in hosts:
    # if host not in os.listdir('./'):
    if os.path.exists(host) is False:#os.path.exists(path) 判断一个目录是否存在
        os.mkdir(host)#os.mkdir(path) 创建目录
        os.chdir(host)#os.mkdir(path) 改变当前目录
    else:
        os.chdir(host)
    ftp = FTP()
    ftp.set_debuglevel(2)
    ftp.connect(host,port)
    ftp.login(user,pwd)
    bufsize = 1024
    filename = "{}.zip".format(Today)
    file_handle = open(filename, "wb").write
    ftp.retrbinary("RETR vrpcfg.zip", file_handle, bufsize)
    ftp.set_debuglevel(0)
    ftp.quit()
    os.chdir('../')
    
批量备份后是这样的

备份的文件都已日期为前缀

定时备份使用linux的 crontab -e按时执行back.py就行了,具体自行谷歌百度。

版权说明:如非注明,本站文章均为 扬州驻场服务-网络设备调试-监控维修-南京泽同信息科技有限公司 原创,转载请注明出处和附带本文链接

请在这里放置你的在线分享代码
«    2024年12月    »
1
2345678
9101112131415
16171819202122
23242526272829
3031
控制面板
您好,欢迎到访网站!
  查看权限
网站分类
搜索
最新留言
    文章归档
    网站收藏
    友情链接