为什么需要自动备份交换机配置
公司网络一出问题,最怕什么?不是断网,而是断网后不知道怎么恢复。尤其是核心交换机的配置,一旦丢失,重新一条条写回去,得折腾大半天。上周隔壁项目组就碰上这事,设备升级失败,配置回滚不了,三个人加班到凌晨,就为了还原上周的VLAN划分和ACL规则。
手动备份?太容易漏了。谁还记得每次改完配置顺手保存并上传到服务器?更别说多人维护时,版本混乱、文件命名随意,最后连哪个是最新版都说不清。这时候,自动备份就成了刚需。
自动备份能解决哪些实际问题
最常见的场景是误操作。比如新来的同事在交换机上删了关键接口的配置,没及时发现,等业务系统报障才察觉,这时候如果有半小时前的自动备份,一分钟就能恢复。
另一个是批量变更前的快照。比如要做全网IP调整,提前跑一遍自动备份,哪怕改乱了也能快速回退。相当于给配置上了份保险,心里踏实多了。
怎么实现交换机配置自动备份
主流做法是用脚本 + 定时任务。比如在Linux服务器上写个Python脚本,通过SSH登录交换机执行display current-configuration命令,把结果存成文本文件,再按日期时间命名归档。
华为或H3C设备可以结合iMC平台做自动化采集,思科可以用EEM(Embedded Event Manager)配合TFTP服务器触发保存。但最灵活的还是自己搭一套轻量级方案。
# 示例:使用expect自动登录并备份配置
#!/usr/bin/expect -f
set host "192.168.10.1"
set user "admin"
set pass "P@ssw0rd"
set timeout 30
spawn ssh $user@$host
expect "password:"
send "$pass\r"
expect ">"
send "screen-length 0 temporary\r"
expect ">"
send "display current-configuration\r"
expect ">"
send "quit\r"
set result $expect_out(buffer)
spawn sh -c "echo '$result' > /backup/sw-config-$host-`date +%Y%m%d%H%M`.cfg"
expect eof这个脚本能自动登录、关闭分页、获取配置,并以时间戳命名保存。配合crontab每小时跑一次,基本就不用操心了。
别忘了做好存储管理
备份多了也头疼。有个客户三个月存了几千个配置文件,硬盘快满了才发现没人清理。建议按设备+日期分级目录存储,比如/backup/huawei-sw1/20240415/,再加个脚本定期压缩归档超过30天的文件。
更重要的是权限控制。这些配置里可能有密码明文或敏感策略,不能随便让人访问。放在内网NAS上,设好读写权限,比丢在某个工程师的桌面积灰强得多。
实际效果比想象中更实用
有家连锁超市用了自动备份后,门店网络故障恢复平均时间从40分钟降到6分钟。他们现在每天三次抓取所有门店交换机配置,发现问题直接对比历史版本,哪里改了哪行一目了然。
其实技术不复杂,关键是形成机制。只要备份是自动的、可追溯的、集中管理的,网络稳定性就能上一个台阶。毕竟,不怕出事,就怕出事后找不到回去的路。