跳转到内容

备份与恢复:配置、插件和管理入口分别验证

类型 包含 不包含 典型用途
配置归档 sysupgrade -b /etc/config、sysupgrade.conf 指定的文件 固件、已安装包、完整磁盘 重刷/升级后恢复设置
插件/包列表 包名、版本、源 包文件本身 重装后对照,避免漏装
完整镜像/VM 备份 整个磁盘/VM 无(但体积大) 整机回滚、换盘

配置备份不是固件备份;恢复配置不会把卸载的插件装回来。

路由器 Shell记录版本、目标、包列表
终端窗口
cat /etc/openwrt_release
cat /etc/apk/arch 2>/dev/null
apk list --installed > /tmp/packages-$(date +%F).txt
wc -l /tmp/packages-$(date +%F).txt
sysupgrade -l

本实验:25.12.6、x86/64、已安装 239 个包;sysupgrade -b 归档 59 项。

预期恢复时知道备份来自哪个 release/target/arch。

路由器 Shell创建配置归档
终端窗口
sysupgrade -b /tmp/backup-$(date +%F).tar.gz
ls -lh /tmp/backup-*.tar.gz
tar -tzf /tmp/backup-$(date +%F).tar.gz | head
sha256sum /tmp/backup-$(date +%F).tar.gz

本实验归档 4.2MB、59 项;包含 etc/config/network、dhcp、firewall、openclash、sqm 等。

归档里可能有 Wi-Fi 密码、PPPoE 账号、DDNS/代理配置;不要上传到公开网盘/仓库。复制到设备外后按敏感文件保管。

预期得到一个可校验、可复制到设备外的 .tar.gz。

电脑把归档复制到设备外
终端窗口
# 从路由器拉到管理机
scp [email protected]:/tmp/backup-2026-10-20.tar.gz ./
sha256sum backup-2026-10-20.tar.gz

不要只留在 /tmp:重启会丢,刷机更会丢。

预期设备损坏/刷坏时仍有备份可用。

1. 同版本运行中恢复(本实验)

Section titled “1. 同版本运行中恢复(本实验)”
终端窗口
sysupgrade -r /tmp/backup-2026-10-20.tar.gz

-r 只恢复配置并退出,不刷写固件;建议随后重启相关服务或整机重启,让网络/DHCP/DNS 重新加载。

本实验先写入 network.lan.e2_marker='before-restore',执行 sysupgrade -r 后标记消失,LAN 仍是 192.168.1.2/24,HTTP 200、SSH 正常。

终端窗口
sysupgrade -f /tmp/backup-2026-10-20.tar.gz <firmware.img>

-f 是升级时恢复配置;不要把备份当成固件,也不要在不同 release/target 之间盲目恢复。

PVE 用 vzdump/快照恢复整个 VM 磁盘和配置;这能回滚固件+包+配置,但体积大、可能覆盖新数据。配置归档和整机备份不是互相替代。

电脑管理入口
终端窗口
ping -c 2 192.168.1.2
curl -sSI --max-time 5 http://192.168.1.2/ | head -3
ssh [email protected] 'uci show network.lan | grep ipaddr'
  • HTTP 200 不代表 DHCP 正常;
  • SSH 能进不代表 LuCI 配置正确;
  • 客户端要重新续租,确认拿到的是恢复后的池。

预期LAN IP、HTTP、SSH、DHCP 至少各验证一次。

路由器 Shell网络/DHCP/DNS
终端窗口
uci show network.lan
uci show dhcp.lan
ubus call network.interface.lan status
logread | grep -Ei 'dnsmasq|dhcp|netifd' | tail -30

必要时重启网络/DNS:

终端窗口
/etc/init.d/network reload
/etc/init.d/dnsmasq restart

预期恢复后的配置真的生效,而不只是文件被解压。

路由器 Shell插件与包列表
终端窗口
apk list --installed | wc -l
apk list --installed | grep -E 'openclash|sqm|adguard|luci-app' || true

配置归档不包含二进制包;重刷后要按包列表/源重装。OpenClash、SQM、AGH 等的配置可能还在,但程序/内核需要重新安装并验证。

预期知道哪些包需要重装,而不是以为配置恢复就全回来了。

  • sysupgrade -r 后没有重启服务/设备;
  • 恢复的是另一个归档;
  • 配置被后续 UCI 命令覆盖;
  • 归档不含该文件(检查 sysupgrade -l/tar -tzf)。
  • 备份来自不同 LAN 网段;
  • DHCP/防火墙没有重新加载;
  • 归档包含旧密码/SSH 配置;
  • 用控制台确认 ip -4 addr show br-lan,不要直接恢复出厂。
  • 配置备份不包含包文件;
  • 包源/版本不匹配;
  • 需要重新安装 luci-app-* 和内核模块;
  • 不要把“配置文件在”当成“程序已安装”。
  • release/target/arch 不一致;
  • 配置项在新版本被重命名/移除;
  • 先在小规模/VM 验证,再上生产;
  • 保留旧固件和整机备份作为回滚。
  • 环境:OpenWrt 25.12.6 x86 VM 200;LAN 192.168.1.2/24;apk;239 个已安装包。
  • sysupgrade -b /tmp/backup-e2.tar.gz:4.2MB、59 项;tar -tzf 可见 etc/config/network、dhcp、firewall、openclash、sqm。
  • 写入 network.lan.e2_marker='before-restore';sysupgrade -r 后标记消失,LAN 仍 .2,HTTP 200,SSH 正常。
  • 未测:整机 PVE 备份恢复、跨版本恢复、插件重装、真实设备断电/刷坏。
  • 配方:tests/recipes/backup-restore-25.12.md。
  • 本页是 E2 partial:同版本配置备份/恢复和管理入口已验证;整机/跨版本/插件重建未测。
  • 配置归档含敏感信息;不要提交到仓库或公开分享。
  • 没有第二评审人;结论只限本次 VM 环境。

来源

Router.Homes

独立的 OpenWrt 实操笔记。每页写明固件、设备、包管理器与恢复路径。

图标:Solar by 480 Design, CC BY 4.0