用Git备份路由器配置文件,一招防丢防错

家里换过几次路由器,每次重装宽带或者恢复出厂设置后,总得重新填一遍Wi-Fi名称、密码、端口转发规则、DDNS设置……手抖点错一个选项,NAS就连不上,监控看不了,远程桌面也掉线。其实这些配置文件,完全可以像写代码一样用Git管起来。

为什么路由器配置值得用Git备份

不是所有配置都藏在网页后台里。有些高级设置(比如OpenWrt的/etc/config/目录、华硕梅林固件的jffs分区脚本、甚至光猫telnet导出的config.bin解析结果)能直接打包成文本。只要变成纯文本,Git就能盯住每一次改动:谁改的、什么时候改的、改了哪一行、改错还能秒退——比截图存桌面靠谱多了。

实操:三步把路由器配置接进Git

以常见刷机固件OpenWrt为例(其他支持SSH和rsync的设备思路类似):

1. 在电脑上初始化本地仓库

打开终端,新建个文件夹专门存配置:

mkdir ~/router-backup
cd ~/router-backup
git init

2. 从路由器拉配置(SSH方式)

假设你的OpenWrt IP是192.168.1.1,用户名root,先用scp把关键配置目录拖下来:

scp -r root@192.168.1.1:/etc/config ./etc-config
scp root@192.168.1.1:/etc/firewall.user ./firewall.user

如果用的是华硕梅林,可同步/jffs/scripts/下的自定义脚本;光猫若支持telnet,导出config.bin后用binwalk或厂商工具解包,提取其中的cfg文件再入库。

3. 提交+推送到远程仓库

加进Git,打个带日期的标签,再推到GitHub/Gitee私有库:

git add .
git commit -m "2024-06-15 备份主路由DHCP+QoS+IPv6设置"
git branch -M main
git remote add origin https://gitee.com/yourname/router-config.git
git push -u origin main

日常维护小技巧

不用每次手动敲命令。在路由器上配个定时任务(crontab),每天凌晨3点自动打包压缩并上传到内网NAS;再在电脑上写个一键脚本,双击就同步最新配置到本地,改完测试没问题再推远端。某次误删了UPnP规则,翻Git历史找到三天前的commit,复制粘贴两分钟就回滚完事,连重启都不用。

宽带设置不是一锤子买卖,而是持续迭代的过程。把配置当代码来管,一次 setup,长期省心。