# NetworkAutoTools **Repository Path**: kaihonggg/NetworkAutoTools ## Basic Information - **Project Name**: NetworkAutoTools - **Description**: 网络设备自动化配置工具集,提供批量备份配置、批量推送命令、开局脚本生成等功能,帮助网络工程师提升工作效率。 - **Primary Language**: Python - **License**: MIT - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 2 - **Forks**: 2 - **Created**: 2025-06-18 - **Last Updated**: 2026-01-20 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # NetworkAutoTools ## 项目概述 ### 网络工程最锋利的剑 🗡️ 网络设备自动化配置工具集,提供批量备份配置、批量推送命令、开局脚本生成等功能,帮助网络工程师提升工作效率,实现网络自动化运维。 ## 🚀 核心功能 ### 模块1:网络设备配置备份工具 - ✅ **多厂商支持**:Huawei、H3C、Ruijie、Cisco - ✅ **批量备份**:自动备份运行配置到指定目录 - ✅ **智能识别**:基于设备信息自动分类存储 - ✅ **交互式界面**:友好的用户操作流程 - ✅ **日志记录**:完整的操作日志追踪 ### 模块2:推送命令到网络设备 - ✅ **批量推送**:一键推送配置到多台设备 - ✅ **协议支持**:SSH连接方式 - ✅ **任务分组**:按任务组织命令文件 - ✅ **实时反馈**:命令执行结果实时显示 - ✅ **错误处理**:完善的异常处理机制 ### 模块3:设备开局脚本生成 - ✅ **多厂商模板**:Huawei、H3C、Ruijie、Cisco专用模板 - ✅ **智能映射**:中英文列名自动识别 - ✅ **格式支持**:CSV参数文件 - ✅ **交互式生成**:任务名称、数据预览、模板选择 - ✅ **分组管理**:按任务组织输出文件 ## 📁 项目结构 ``` NetworkAutoTools/ ├── 1_网络设备配置备份/ # 配置备份功能模块 │ ├── main.py # 主程序 │ ├── device_info.csv # 设备信息文件 │ ├── README.md # 模块说明 │ └── output/ # 备份文件存储 ├── 2_推送命令到网络设备/ # 命令推送功能模块 │ ├── main.py # 主程序 │ ├── commands.txt # 命令文件示例 │ ├── device_info.csv # 设备信息文件 │ ├── README.md # 模块说明 │ └── output/ # 任务输出目录 ├── 3_设备开局脚本生成/ # 开局脚本生成模块 │ ├── main.py # 主程序 │ ├── parameters.csv # 参数文件示例 │ ├── README.md # 模块说明 │ ├── templates/ # Jinja2模板目录 │ │ ├── command_template.j2 # 通用模板 │ │ ├── h3c_template.j2 # H3C专用模板 │ │ ├── huawei_template.j2 # Huawei专用模板 │ │ ├── cisco_template.j2 # Cisco专用模板 │ │ └── ruijie_template.j2 # Ruijie专用模板 │ └── output/ # 输出文件目录(按任务分组) ├── LICENSE # 许可证文件 └── README.md # 项目说明 ``` ## 🛠️ 环境要求 - **Python版本**:3.6+ - **依赖库**: ```bash pip install paramiko pandas openpyxl jinja2 ``` ## 🚀 快速开始 ### 步骤1:安装依赖 ```bash pip install paramiko pandas openpyxl jinja2 ``` ### 步骤2:配置设备信息 根据需要编辑对应模块的`device_info.csv`或`parameters.csv`文件 ### 步骤3:运行程序 ```bash # 运行配置备份 cd 1_网络设备配置备份 python main.py # 运行命令推送 cd 2_推送命令到网络设备 python main.py # 运行脚本生成 cd 3_设备开局脚本生成 python main.py ``` ## 📊 使用场景 | 场景 | 使用模块 | 功能描述 | |------|----------|----------| | 日常运维 | 模块1 | 定期备份全网设备配置 | | 配置变更 | 模块2 | 批量推送NTP较时,日志主机等配置 | | 设备上线 | 模块3 | 为新设备生成开局配置脚本 | ## 🔧 技术特点 - **模块化设计**:各模块独立运行,互不影响 - **交互式界面**:每个模块都提供友好的用户交互 - **多厂商支持**:统一处理不同厂商设备差异 - **智能识别**:自动识别设备类型和配置格式 - **错误处理**:完善的异常处理和日志记录 ## 📖 详细文档 每个模块都有独立的README.md文件,包含详细的使用说明和示例。 ## 🏷️ 许可证 [MIT License](LICENSE) - 开源免费,可商用