python网络运维,批量修改交换机配置
off999 2024-10-11 13:57 29 浏览 0 评论
制造业随着数字化、智能化的推进,企业内将增加大量的网络通信设备,当业务调整,或安全策略要求定期更换设备管理密码,此时就需要对网络设备配置进行批量修改。若企业内未购买专业的网络设备管理平台,该工作会非常的复杂,需管理员逐一登录进行配置,易出错且效率低下。那有没有低成本且高效的方法呢,答案是肯定的,Python。
测试设备:H3C、HuaWei交换机,已开启Telnet登录。
环境要求:一台具备python3执行环境,且已安装netmiko组件。
脚本代码如下,已托管至github , https://github.com/hzh1019/SwitchAutoBackup:
1:python脚本:switch_command.py
from netmiko import ConnectHandler
from netmiko.ssh_exception import NetMikoAuthenticationException, NetMikoTimeoutException
import threading
import datetime
import queue
import re, os
def conn_info(ip):
dev = {
'device_type': 'huawei_telnet', #指定设备类型,该类型适用于h3c,huawei设备,telnet方式
'host': ip,
'username':'admin', #设备管理员用户
'password': 'TJuOO8Uz', #管理员用户密码
}
return dev
def conn_dev(dev_q):
while not dev_q.empty():
dev_ip = dev_q.get()
try:
dev_conn = ConnectHandler(**conn_info(dev_ip))
print("[%s] Connected." % dev_ip)
dev_conn.send_config_from_file('cmds.txt')
dev_conn.disconnect()
print('[%s] done.\n' % dev_ip )
except NetMikoAuthenticationException:
print("[%s] Error! Please check username or password ..." % dev_ip)
except NetMikoTimeoutException:
print("[%s] Error! Connect time out ..." % dev_ip)
except Exception as e:
print('[%s] Error:%s' % (dev_ip, e))
if __name__ == "__main__":
devs_ip = ['192.168.12.34','192.168.12.35','192.168.13.19'] #需进行配置的交换机ip地址列表
devs_q = queue.Queue()
for dev in devs_ip:
devs_q.put(dev)
max_conn = 15 # 同时操作交换机数量(可增加或减少)
ts = [] # 线程集合
for i in range(max_conn):
t = threading.Thread(target=conn_dev, args=(devs_q,))
t.start()
ts.append(t)
for t in ts:
t.join()
print("Done.")
2:待批量执行命令:cmds.txt
sys
ssh server enable
local-user admin
password simple boE6Wzjv
local-user it
password simple FD39@fs..2!
authorization-attribute user-role level-1
service-type ssh
clock timezone UTC add 8
ntp-service unicast-server 192.168.12.10
save f
使用方法:
1:将switch_command.py与cmds存放在同一目录内。
2:编辑switch_command.py,填入你本地交换机对应信息。需修改的项已在上面代码内注释。
3:编辑cmds.txt,填入需执行的命令。
4:运行 python3 switch_command.py
该脚本调用netmiko组件,亦可支持cisco、dell、dlink等主流网络设备以及ssh登录方式,详细使用方法请见该组件仓库或留言咨询。https://github.com/ktbyers/netmiko
相关推荐
- 电脑做系统u盘启动选项(做系统开机u盘怎么选择)
-
操作须知:1、设置U盘启动分很多种:传统legacy机型设置、uefi新机型设置、uefi机型改legacy启动设置2、由于电脑品牌以及机型非常多,这边仅列举一部分电脑的设置方法,3、如果是uefi机...
- 未安装nvidia控制面板(电脑未安装nvidia控制面板)
-
如果你使用的是Nvidia显卡,但未安装Nvidia控制面板,则可能会遇到以下问题:1.无法进行高级显卡设置:Nvidia控制面板提供了高级显卡设置选项,例如显卡超频、显示器分辨率和刷新率、视频调整...
- u盘检测不到怎么修复(u盘检查不了是什么原因)
-
以下是可能的解决办法:1.更换不同的USB端口。有时候电脑某个USB端口可能出现问题,试试换一个不同的端口。2.重启电脑。有时候出现问题的USB端口可能需要重启才能正常。3.插拔几次U盘。有时候...
- win7 共享设置(win7共享设置详细步骤)
-
1.进入控制面板家庭组页打开控制面板找到网络和Internet下面的家庭组和共享选项并打开?2.进入更改高级共享设置打开以后选择更改高级共享设置功能进入?3.开启文件和打印机共享开启文件和打印机共享,...
- 电脑硬盘怎么装步骤图(电脑硬盘怎么装步骤图片)
-
1、查看硬盘的各项信息。硬盘的背面会有硬盘的存储容量以及电压,功率,转速等基本信息。2、购买到的一整块硬盘里面包括硬盘、对接线跟螺丝钉。将对接线和螺丝钉摆在一旁。3、在硬盘的上方会有两个SATA接口,...
- 小马win10永久激活(小马win10永久激活工具使用方法)
-
很简单,重装系统win7,这个可以激活的,然后根据推送升级win10,如果有强迫症可以升级以后重新安装win10系统,以后都是自动联网激活的。安全。小马激活工具win10版是小马专门为windowns...
- win10开机欢迎时间太长(开机欢迎界面时间长)
-
win10第一个就是你系统里的垃圾太多,如果系统垃圾太多,直接清理垃圾就可以解决这个问题,第二个就是你的开机启动项过多,如果开机启动项过多,直接关闭不必要的开机启动项就可以缩短开机时间,就可以解决你...
- 登录126邮箱入口(登录126邮箱入口官网)
-
126邮箱是网易的一个免费邮箱登录入口在浏览器输入:mail.126.com浏览器进入126邮箱网站之后,即可自行登录126邮箱账号。如何在手机上登录126邮箱1、打开手机,找到并打开网易邮箱软件。2...
- 如何让防火墙允许某个软件(如何允许防火墙阻止访问)
-
1.打开电脑的开始菜单,找到控制面板选项,并点击打开。2.在打开的控制面板中,找到防火墙选项,并点击打开。3.在打开的防火墙界面中,单击左侧的允许程序通过防火墙选项。4.在跳转的界面中,选择允许通过防...
-
- 智慧工厂管理系统(智慧工厂管理系统哪家好)
-
智慧工厂智能化系统整体的解决方案分为三个主要部分,分别是现场控制系统(FDC)、生产数据管理系统(PDM)以及工厂数字化协同平台(LCT)。其中,现场控制系统(FDC)是智慧工厂系统非常重要的核心组成部分,它是一个支持大规模互联的集群控制系...
-
2025-11-13 22:03 off999
- 电脑如何打开隐藏文件(电脑怎么打开隐藏文件夹)
-
要显示隐藏文件,首先需要打开文件资源管理器,然后点击菜单栏中的“查看”选项,选中“隐藏项目”复选框即可。此时,隐藏文件和文件夹将会显示在文件资源管理器中,可以进行正常操作。如果需要隐藏文件和文件夹,可...
- 华硕官网客服电话(华硕官网400客服电话)
-
华硕维修中心官网,http://www.asus.com.cn/support/你可以通过电话,邮件等方式联系华硕的售后客户,提供你的主板序列号,他会告诉你的。华硕ROG真享服务包是一项专门针对购买华...
- win11如何进入安全模式(win11如何进入安全模式启动)
-
进入Win11安全模式有多种方法,下面介绍两种常用的方法:方法一:使用系统配置工具1.使用组合键Win+R打开“运行”对话框,输入“msconfig”并按Enter键。2.在“系统配...
- 网易邮箱163登录界面(网易163邮箱登陆界面)
-
163邮箱登录首页入口为http://mail.163.com/网易163免费邮箱--中文邮箱第一品牌.容量自动翻倍,支持50兆附件,免费开通手机号码邮箱赠送3G超大附件服务.支持各种客户端软件收发,...
欢迎 你 发表评论:
- 一周热门
-
-
抖音上好看的小姐姐,Python给你都下载了
-
全网最简单易懂!495页Python漫画教程,高清PDF版免费下载
-
Python 3.14 的 UUIDv6/v7/v8 上新,别再用 uuid4 () 啦!
-
python入门到脱坑 输入与输出—str()函数
-
飞牛NAS部署TVGate Docker项目,实现内网一键转发、代理、jx
-
宝塔面板如何添加免费waf防火墙?(宝塔面板开启https)
-
Python三目运算基础与进阶_python三目运算符判断三个变量
-
(新版)Python 分布式爬虫与 JS 逆向进阶实战吾爱分享
-
慕ke 前端工程师2024「完整」
-
失业程序员复习python笔记——条件与循环
-
- 最近发表
- 标签列表
-
- python计时 (73)
- python安装路径 (56)
- python类型转换 (93)
- python进度条 (67)
- python吧 (67)
- python的for循环 (65)
- python格式化字符串 (61)
- python静态方法 (57)
- python列表切片 (59)
- python面向对象编程 (60)
- python 代码加密 (65)
- python串口编程 (77)
- python封装 (57)
- python写入txt (66)
- python读取文件夹下所有文件 (59)
- python操作mysql数据库 (66)
- python获取列表的长度 (64)
- python接口 (63)
- python调用函数 (57)
- python多态 (60)
- python匿名函数 (59)
- python打印九九乘法表 (65)
- python赋值 (62)
- python异常 (69)
- python元祖 (57)
