软件测试 发表于 2026-8-4 09:08:00

华为、H3C交换机配置配置备份工具(Python版本)

通过 SSH 自动备份华为 / H3C 交换机的运行配置,支持差异对比和保留策略。
-------------------------
功能概述
[*]SSH 远程备份:自动登录设备,执行 display current-configuration(只读),保存配置到本地
[*]自动识别厂商:华为 VRP / H3C Comware 自动检测,无需手动指定
[*]差异对比:每次备份自动与上次对比,标注配置变更(生成 .diff 文件)
[*]保留策略:自动清理超过指定天数的旧备份(默认 30 天)
[*]汇总报告:每次备份生成 Excel 汇总报告,含成功/失败/变更统计
[*]并发执行:多线程同时备份多台设备
[*]安全只读:命令白名单机制,绝不执行写操作,不修改设备任何配置
[*]GUI 图形界面:可视化操作,实时进度、日志、结果表格,支持一键导出报告

-------------------------
命令参数参数说明默认值--inventory, -iExcel 设备清单路径(必填)—--backup-dir备份文件存储目录backup/--keep-days备份保留天数30--concurrency, -j并发线程数3--sheet指定 Excel Sheet 名第一个 Sheet--username默认用户名(覆盖 Excel 空值)admin--password默认密码(覆盖 Excel 空值)—--create-template生成 Excel 模板文件—

Python脚本使用示例

# 基本备份python backup_tool.py --inventory pw.xlsx

# 指定备份目录和保留天数python backup_tool.py --inventory pw.xlsx --backup-dir D:\配置备份 --keep-days 90

# 指定并发数(网络好时可提高)python backup_tool.py -i pw.xlsx -j 5

# 指定默认密码(Excel 中密码列为空时使用)python backup_tool.py -i pw.xlsx --password Admin@123

-------------------------
Excel 设备清单格式IP地址用户名密码主机名端口厂商角色备注192.168.1.1adminAdmin@123Core-SW-0122huaweicore核心交换机192.168.2.1adminAdmin@45622h3caccess接入层
[*]IP地址、用户名、密码:必填
[*]端口:可选,默认 22
[*]厂商:可选,huawei / h3c / auto(自动识别),默认 auto
[*]其他列:可选,仅用于备注
[*]列名支持中英文,顺序可调整

-------------------------
输出文件结构

backup/

├── 192.168.1.1/                              # 每台设备一个子目录

│   ├── 192.168.1.1_2026-08-04_080000_001_a1b2c3d4.txt   # 配置文件

│   └── 192.168.1.1_2026-08-04_080000_001_a1b2c3d4.diff  # 差异文件(有变更时)

├── 192.168.1.2/

│   └── 192.168.1.2_2026-08-04_080000_002_e5f6g7h8.txt

└── backup_report_20260804_080000.xlsx        # 汇总报告

[*]配置文件名:{IP}_{日期}_{时间戳}_{内容hash}.txt,防重名覆盖
[*]差异文件:配置有变更时自动生成,记录与上次备份的差异
[*]汇总报告:Excel 格式,包含每台设备的备份状态、文件大小、变更情况

-------------------------
安全说明本工具严格遵守只读原则:
[*]命令白名单:只允许 display current-configuration 等只读命令
[*]禁止写操作:system-view、undo、save、reset 等命令被自动拦截
[*]SSH 交互模式:使用 invoke_shell,不执行任意命令
[*]不修改设备:不写入任何配置,不修改任何设备状态

-------------------------
兼容性
[*]设备:华为 VRP(S 系列交换机)、H3C Comware
[*]Python:3.10+
[*]操作系统:Windows / Linux / macOS
[*]paramiko:必须 3.x(5.0 不兼容老式交换机的 KEX 算法)

-------------------------
源码结构

Final/

├── backup_tool.py     # 命令行主程序入口

├── backup_gui.py      # GUI 图形界面主程序入口

├── backup.py          # 备份核心逻辑(SSH拉取、差异对比、报告生成)

├── collector.py       # SSH 采集器(连接管理、命令白名单、厂商识别)├── inventory.py       # Excel 设备清单读取 / 模板生成

├── utils.py           # 公共工具(编码修复、依赖检查)├── requirements.txt   # Python 依赖

├── build.py           # PyInstaller 打包脚本(命令行版)

├── build_gui.py       # PyInstaller 打包脚本(GUI 版)

└── README.md          # 本文档

下载链接:

https://wwaxx.lanzout.com/b01bjltapi

密码:52pj

流浪铺子 发表于 2026-8-6 01:48:49

自动化程度决定了长期维护的人力投入。

远山笔记 发表于 2026-8-7 02:19:15

选型的时候别只看性能,生态和文档同样重要。

清和 发表于 2026-8-8 04:39:58

备份策略比高可用更值得先做,出事的概率高得多。这套配置在低配机器上跑得动吗?

一叶杂谈 发表于 2026-8-9 08:38:43

版本升级前先在测试环境跑一遍,别直接上生产。有没有做过压测,瓶颈在哪一块?

沉默长夏 发表于 2026-8-9 23:45:29

安全配置不能省,出事之后再补成本高得多。

归鸟寻梅 发表于 2026-8-10 23:39:10

这类工具的学习曲线主要集中在前期配置。

关山杂谈 发表于 2026-8-12 03:50:10

安全配置不能省,出事之后再补成本高得多。有没有做过压测,瓶颈在哪一块?

老猫散记 发表于 2026-8-13 01:41:18

选型的时候别只看性能,生态和文档同样重要。有没有遇到过数据一致性的问题?

踏雪80 发表于 2026-8-14 01:34:59

日志的粒度要控制好,太细反而找不到重点。
页: [1] 2 3 4 5 6
查看完整版本: 华为、H3C交换机配置配置备份工具(Python版本)