文章目录
- 一、 为什么你需要这套系统?
- 二、 核心功能亮点
- 三、 环境要求与部署
- 1.依赖库安装
- 2.核心组件说明
- 四、 系统结构一览
- 五、 快速上手指南
- 1.配置设备清单
- 2.运行与模式选择
- 3.日志查看
- 六、 快速上手指南
- 1.设备清单
- 2.采集命令
- 3.顺序/并发采集
- 4.日志文件保存
- 下载
一、 为什么你需要这套系统?
作为网络工程师,我们经常需要面对大量设备的配置备份和日志采集。如果靠人工逐台登录(Telnet/SSH),不仅效率低下,还极易出错。
为了解决这一痛点,我开发了这套设备自动采集备份系统。它能够根据自定义的设备清单,自动完成登录、执行命令、保存日志的全流程,支持顺序或并发执行,让重复性工作流程化、自动化。
二、 核心功能亮点
- 多协议支持:全面支持 Telnet 和 SSH 远程登录管理模式。
- 灵活配置:支持自定义设备清单(Excel 导入)、采集命令及等待回显时间。
- 采集模式随心换:
- 顺序采集:逐台登录,稳定性高。
- 并发采集:多线程同时作业(支持 1-10 个并发),极大提升大规模采集效率。
- 智能存储与去重:日志按日期自动分类存储;若当日已完成备份,系统将自动跳过,避免重复工作。
- 格式化输出:支持命令回显的清理与标准化格式化。
三、 环境要求与部署
想要运行本系统,你的 PC 需要具备以下 Python 环境:
1.依赖库安装
pipinstallpandas openpyxl paramiko2.核心组件说明
- Python 3.7+:基础运行环境。
- Pandas & openpyxl:处理设备清单 Excel 文件。
- Paramiko:负责核心的 SSH 登录功能。
- Socket (标准库):处理 Telnet 登录。
- Concurrent.futures:实现高效的并发处理。
四、 系统结构一览
项目采用模块化设计,结构清晰,方便二次开发:
main.py:主启动脚本,负责交互与流程控制。read_device_list.py:负责解析 Excel 中的设备信息。login_devices.py:底层登录逻辑与数据采集核心。设备清单.xlsx:存放你的设备库。
五、 快速上手指南
1.配置设备清单
在 Excel 中维护你的设备信息。设备名称将直接关联生成的 Log 文件名。请务必根据设备实际情况选择登录方式,并关联对应的设备类型。
注意:采集命令中需考虑“分屏显示”问题(翻页符),建议在命令首行加入取消分屏的指令。
2.运行与模式选择
启动程序后,提供交互式菜单。建议在设备数量较少或网络环境波动时使用顺序采集;在需要批量作业时使用并发采集。
3.日志查看
采集到的日志会存放在device_logs文件夹中。系统会根据当前日期自动创建子文件夹,方便后期溯源与审计。
六、 快速上手指南
1.设备清单
- 设备名称:最后保存的
log文件名调用该名称。 - 根据设备的实际情况选择登录方式。
- 设备类型是关联采集命令的。
2.采集命令
- 注意分屏显示的问题。(详细信息可以见我上一篇推文)
- 等待时间 – 是给命令执行一个回显保存的时间。
注意:采集命令中需考虑“分屏显示”问题(翻页符),建议在命令首行加入取消分屏的指令。
3.顺序/并发采集
启动程序后,提供交互式菜单。建议在设备数量较少或网络环境波动时使用顺序采集;在需要批量作业时使用并发采集。
4.日志文件保存
采集到的日志会存放在device_logs文件夹中。系统会根据当前日期自动创建子文件夹,方便后期溯源与审计。
当每日重复采集时,会优先检查该日期文件夹中是否已采集,已采集的设备不会被重复采集。
下载
这套系统是我在实际网络运维工作中不断打磨出来的产物。它不仅提高了工作效率,更重要的是减少了人为操作的安全风险。
您可以关注公众号数通工程师,回复备份获取下载链接,或者私信我,谢谢!
如果觉得这些经验对你有用,不妨动动手指点赞,再顺手收藏起来,方便后续回看或分享给有需要的朋友 ——您的每一份支持,都是我继续分享的动力,感谢阅读!