用表格批量执行网络配置备份策略

在日常运维中,网络设备的配置备份是必不可少的一环。尤其是当手头有几十台甚至上百台交换机、路由器时,一台一台登录去导配置显然不现实。这时候,借助表格和脚本结合的方式,就能轻松实现批量执行网络配置备份策略

把设备信息整理成表格

第一步不是写脚本,而是打开 Excel 或 WPS 表格,把所有需要备份的设备列出来。至少包含 IP 地址、设备类型(比如华为、H3C、Cisco)、登录账号、密码这几列。看起来就像一张设备台账表:

IP地址        设备类型    用户名    密码
192.168.1.1 H3C admin pass123
192.168.1.2 Huawei root huawei@2024
192.168.1.3 Cisco cisco cisco123

这张表不需要多高级,只要格式规整,能导出为 CSV 就行。它将成为自动化脚本的数据源。

用 Python 脚本读取表格并执行备份

接下来写一个简单的 Python 脚本,用 pandas 读取 CSV 文件,再通过 paramikonetmiko 登录设备执行命令。比如:

import pandas as pd
from netmiko import ConnectHandler
devices = pd.read_csv("devices.csv") for index, row in devices.iterrows(): device_info = { 'device_type': row['设备类型'].lower(), 'ip': row['IP地址'], 'username': row['用户名'], 'password': row['密码'], } try: connection = ConnectHandler(**device_info) output = connection.send_command("display current-configuration") with open(f"backup_{row['IP地址']}.cfg", "w") as f: f.write(output) connection.disconnect() print(f"{row['IP地址']} 备份完成") except Exception as e: print(f"{row['IP地址']} 备份失败: {e}")

每次运行前,只需要更新一下表格,新增或下线的设备一删一加,重新跑一遍脚本,全部配置自动备份到本地文件。

加入时间戳避免覆盖

如果每天都要执行备份,建议在保存文件时加上日期。比如把文件名改成:

import datetime
now = datetime.datetime.now().strftime("%Y%m%d") filename = f"backup_{row['IP地址']}_{now}.cfg"

这样每次备份都留档,出了问题也能快速回溯到前一天的配置。

小改动,大效率

很多人觉得自动化要写复杂平台,其实不然。一个表格加几行脚本,就能解决重复劳动。特别是在分公司网络巡检、设备升级前的配置归档等场景下,这套方法又快又稳。关键不是工具多高级,而是把重复的事交给程序,人只管盯结果。