栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

使用python脚本备份交换机配置文件

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

使用python脚本备份交换机配置文件

前言:
最近一直在研究如何使用python对网络设备进行配置文件备份,经过半天的研究终于实现对几十台交换机进行自动备份。

准备工作:
1.python环境搭建,我使用的是python3.9和pycharm;
2.安装os、netmiko、 time、re、multiprocessing.dummy模块;
3.准备一个放IP地址的文本文件,我这里用的是ip.txt;
4.SecureCRT.exe用来登陆设备分析参数。


代码:

import os
from netmiko import ConnectHandler
import time
import re
from multiprocessing.dummy import Pool

user = 'admin'
psd = 'xxxxxxxxxx'
dev = 'huawei'
# 获取当前时间
today = time.strftime("%Y%m%d-%H%M", time.localtime())
# 如果不存在此文件夹就创建文件夹
if not os.path.exists(today):
    os.makedirs(today)

# add = open('ip.txt', 'r')


def get_text(ip):# 定义函数获取配置文件
    connect = ConnectHandler(device_type=dev, host=ip, username=user, password=psd) 
    # 向设备发送命令并获取显示的文本
    connect.send_command('screen-length disable')
    output = connect.send_command('dis cu')
    # 匹配管理地址
    ex = 'interface Vlan-interface1.*?ip address (.*?) 255.255.255.0'
    re_ip = re.findall(ex, output, re.S)[0]
    re_ip_txt = re_ip + '.txt'
    # 保存配置文件
    path = today + '/' + re_ip_txt
    with open(path, 'w', encoding='utf-8') as fp:
        fp.write(output)


# 获取文本里面的ip
ipad = []
add = open('ip.txt', 'r')
for ips in add:
    ipad.append(ips)

# 实例化一个进程池
pool = Pool(10)
# 调用进程执行函数
pool.map(get_text, ipad)
# 关闭打开的文件
add.close()

结果:


上面是保存配置文件的目录,前面是年月日,后面是几点几分。


这个是保存的配置文件。

总结:
总体来说还是比较顺利,第一次执行的时候有两个设备没有备份,后面发现是因为这两台设备需要对终端进行身份验证,使用SecureCRT.exe登陆一下设备就可以了,然后在执行脚本就没有任何问题了。
这个脚本可以更具需要进行改动,对于刚入门的小伙伴来说非常友善,有什么问题也可以给我留言,我们一起学习交流。
最后祝大家事业有成,身强体健!

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/767897.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号