3、快照恢复实战:从系统崩溃到满血复活,我用快照救回3年配置的真实案例。

说实话,玩 Home Assistant 最怕什么?

不是自动化写不出来,不是设备连不上。

是某天早上起来,发现系统挂了。

而且挂得彻彻底底,连 SSH 都登不进去。

我经历过一次。那是一个普通的周二晚上,我手痒升级了某个核心插件。结果重启后,HA 直接白屏。所有智能灯、传感器、窗帘全部离线。家里瞬间回到「原始社会」。那一刻,我后背是凉的。3 年的配置,上百个自动化,几十个自定义卡片——全在里面。

还好,我有快照。

3.1 快照是什么?说白了就是「后悔药」

快照(Snapshot)是 Home Assistant 内置的备份机制。它会把你的整个系统打包成一个压缩文件。包括:

  • 所有配置文件(configuration.yaml 等)
  • 自定义插件和 Lovelace 卡片
  • 数据库(历史记录、统计信息)
  • 自动化、场景、脚本
  • 用户凭证和集成配置

你可以把它理解成「系统全量镜像」。我个人的习惯是:每周自动生成一次快照,重大改动前手动再打一个。你想想看,3 年的心血,也就值一个快照文件的大小。

我的经验:快照文件通常 200MB~1GB 不等。取决于你的数据库大小。我建议至少保留最近 3 个快照,别只留一个——万一刚生成的快照就有问题呢?

3.2 实战:从崩溃到恢复,我做了什么

那天晚上,系统白屏后,我做了这几步。每一步都很关键。

第一步:确认崩溃程度

我先试了 SSH 登录。能连上,但 HA 核心服务起不来。查看日志发现是某个 Python 依赖冲突。手动修复?太麻烦,而且不确定会不会有连锁反应。我决定直接走恢复流程。

第二步:准备恢复环境

我有一台备用树莓派 4B,刷了最新的 Home Assistant OS。为什么用新刷的系统?因为我不想带着旧系统的「病根」去恢复。干净的系统 + 干净的快照 = 最稳的组合。

注意:恢复时,目标系统的版本最好和快照生成时的版本一致或接近。跨大版本恢复可能会出问题。我那次快照是 2023.12 生成的,新刷的系统也是同版本,完美匹配。

第三步:上传快照文件

我把快照文件从 NAS 里拷出来,放到新系统的 /backup 目录下。然后进入 HA 后台的「备份与恢复」页面。点击「从备份恢复」——选择我的快照文件——确认。

系统开始解压、还原。整个过程大约 15 分钟。这 15 分钟里,我什么都没做。就盯着进度条看。说实话,有点紧张。

第四步:验证恢复结果

恢复完成后,系统自动重启。我登录进去,第一件事是检查:

  • 所有设备是否在线?—— 是,Zigbee 网关、WiFi 设备全部正常
  • 自动化是否生效?—— 我手动触发了一个传感器,灯光正常亮起
  • 历史数据是否完整?—— 翻到 3 年前的记录,都在

那一刻,我长舒一口气。3 年的配置,回来了。

3.3 快照恢复的「避坑指南」

我经历过不止一次恢复。有成功的,也有翻车的。下面这些坑,你最好提前知道。

常见问题 原因 解决办法
恢复后设备离线 Zigbee/Z-Wave 适配器 MAC 地址变了 恢复前确保使用同一硬件,或提前导出网络密钥
插件报错 快照中的插件版本与新系统不兼容 恢复后手动更新插件,或使用同版本系统
数据库损坏 快照生成时数据库正在写入 生成快照前先停止 HA 核心服务
恢复后无法登录 用户凭证文件损坏 使用命令行重置密码,或从旧快照中提取凭证

我曾经踩过的坑:有一次我图省事,直接在运行中的系统上生成快照。结果数据库文件被锁定,快照里只备份了一半数据。恢复后,最近一周的历史记录全丢了。从那以后,我写了个自动化:每周日凌晨 3 点,先停止 HA 核心服务,再生成快照,最后重启。虽然麻烦点,但数据完整。

3.4 快照恢复的「高级技巧」

如果你觉得手动上传快照太慢,可以试试这些方法。

技巧一:从命令行恢复

有时候 HA 后台进不去,但 SSH 还能用。这时候可以用 ha 命令:

# 查看可用快照
ha snapshot list

# 恢复指定快照
ha snapshot restore <快照名称>

这个命令会直接覆盖当前系统。嗯,用之前确认一下——别恢复错了。

技巧二:部分恢复

有时候你只想恢复某个配置或插件,不想动整个系统。HA 的快照恢复支持「选择性恢复」。在恢复页面,你可以勾选:

  • 仅恢复配置
  • 仅恢复插件
  • 仅恢复自动化
  • 仅恢复数据库

我经常用这个功能。比如升级某个插件后出问题,我就只恢复那个插件的旧版本,其他不动。

技巧三:跨硬件迁移

从树莓派迁移到 x86 小主机?没问题。快照是硬件无关的。你只需要:

  1. 在新硬件上安装同版本 HA OS
  2. 上传快照并恢复
  3. 重新配置网络(IP 地址可能变了)
  4. 重新配对 Zigbee/Z-Wave 适配器(如果硬件不同)

我去年从树莓派 4B 迁移到 N100 小主机,整个过程不到 30 分钟。所有自动化、场景、历史数据全部保留。说白了,快照就是你的「系统搬家工具」。

3.5 总结:快照是你的最后一道防线

系统崩溃不可怕。可怕的是没有备份。

我见过太多人,花几个月配置 HA,结果一次升级就全没了。然后从头再来。说实话,没必要。快照功能就在那里,用起来不费事。

我的建议很简单:

  • 每周自动生成一次快照
  • 重大改动前手动生成一次
  • 快照文件存到 NAS 或云盘
  • 至少保留最近 3 个版本

做到这四点,你的 HA 系统就是「不死之身」。不管怎么折腾,都能满血复活。

嗯,这就是我用快照救回 3 年配置的真实经历。希望你不会用到它——但万一用到,你会感谢现在的自己。