Skip to content

备份与恢复

快照是 WG Free Mesh 的应用级备份。它不依赖具体数据库文件,因此可以用于 SQLite 和 PostgreSQL 之间迁移。

快照包含什么

除管理员密码外,应用数据库中的业务数据都应进入快照,包括:

  • 系统设置。
  • 配置。
  • 端点。
  • Mesh 对。
  • 客户端状态和 MQTT 凭据。
  • MCP Token。
  • 审计记录。
  • 端口转发规则。
  • 协议高级参数。

快照会记录当前系统版本,用于后续识别来源版本,但当前不做强制兼容校验。

快照不包含什么

快照不包含管理员密码。恢复快照后,管理员身份仍由当前系统初始化和登录机制控制。

部署级环境变量也不依赖快照恢复,例如数据库连接、正式访问地址、Docker 端口和 MQTT 是否启用。这些属于部署配置,应由 .env 管理。

安全性

快照通过管理员密码加密。没有密码时,快照内容不应被直接读取。

导出快照后,应像保存数据库备份一样保存它。不要把快照文件上传到公开仓库或聊天窗口。

恢复过程

恢复快照通常需要一点时间。前端会显示恢复中的阻塞提示,避免用户在恢复期间继续操作系统。

恢复时系统会用快照内容替换当前应用数据。恢复前建议先导出现有快照,保留回退路径。

与 EMQX 的关系

后端数据库是应用状态的唯一真相。快照恢复后,如果 EMQX 在线,后端会把节点账号、授权和客户端连接信息同步到 EMQX;如果 EMQX 暂时离线,数据会先落库,待 EMQX 恢复后再同步。

迁移数据库

从 SQLite 迁移到 PostgreSQL 的推荐流程:

  1. 在 SQLite 部署中导出快照。
  2. 启动 PostgreSQL 部署。
  3. 初始化管理员。
  4. 导入并恢复快照。
  5. 检查配置、端点和客户端状态。

反向迁移也使用同一套流程。