文档 / 管理
备份、恢复与迁移
完整保存状态与密钥,验证恢复结果并迁移桌面数据目录。
下载 Markdown本页内容
备份完整状态
仅下载交付文件不能恢复 Agent、会话、账号与连接器配置。完整恢复需要匹配的数据、凭据密钥和程序版本。
默认状态根示意如下;自定义目录以运行环境实际配置为准。
~/.nexus/
app/ Nexus 宿主数据库与服务状态
control/ 服务端 Control 身份与会话数据
control-public/ 供 Nexus 读取的公钥镜像
users/<owner>/
workspace/ Agent 文件与 Room 公共附件
runtime/ 运行配置、会话与项目记录
state/rooms/ Room 协作记录
NXS 长期记忆位于相应 Agent 工作区的 MEMORY.md 与 memory/。服务端 HOST_DATA_DIR 挂载的数据、.env 中的必要密钥和外部数据库也需要一起纳入恢复计划。
做一次一致的备份
- 记录 Nexus 与 Control 版本、状态目录、部署配置和密钥来源。
- 结束正在写入的任务。桌面版完整退出;Compose 部署使用
make stop停止相关服务。 - 复制完整状态目录,保留文件权限。使用 SQLite 时,需停止服务后复制数据库及相关文件,以免遗漏尚未写回主文件的数据。
- 单独保护部署配置与凭据加密密钥。使用外部数据库时,按数据库的一致性备份方式备份。
- 在独立位置保存备份,并记录日期和对应程序版本。
- 重新启动服务,检查原环境正常。
备份完成并验证前,应保留原数据目录和数据卷。日志可以帮助排错,但不能替代数据库与工作区备份。
验证恢复
在隔离位置准备与备份兼容的程序版本,停止目标服务后恢复整套数据和密钥,再启动。验证期间暂停定时任务和消息通道,避免与原环境同时执行外部工作。
依次检查登录、成员和 Agent 列表、历史会话、工作区文件、记忆、模型配置,以及连接器能否读取。最后运行一项不会造成重复外部写入的小任务。
恢复验证用于确认备份能否重建工作环境。模型 API Key 或外部账号已经被撤销时,还需重新配置外部授权。
用恢复清单验收备份
备份开始前选一段已知会话、一份工作区文件和一个记忆条目,记录它们的名称与内容特征。恢复后检查同样的对象,避免只看到空工作台可以登录就认为恢复成功。
| 项目 | 验收方式 | 异常时先看哪里 |
|---|---|---|
| 身份 | 使用预期账号登录 | Control 状态、签名与会话配置 |
| Agent 和历史 | 找到备份前选定的成员与会话 | owner 与状态根是否一致 |
| 工作文件 | 打开预先记录的文件并比较内容 | 工作区是否完整恢复 |
| 记忆 | 查看选定主题与索引 | Agent 和引擎是否一致 |
| 连接器 | 用已授权账号做只读验证 | 密文与加密密钥是否配套 |
| 定时任务 | 检查定义、启用状态和下次时间 | 时区、依赖与投递目标 |
连接器配置看得到但无法解密时,先找原密钥。生成新密钥只适合重新配置,不能恢复旧密文。若外部账号本身已撤销授权,需要在该平台重新处理。
避免恢复副本同时工作
演练环境应先隔离外部访问,避免启动时与原实例同时收取 IM 消息或执行定时任务。确认通道和任务已停用后,再按需要开放模型与只读工具用于验证。
将正式环境切到恢复副本时,先停止旧实例的相关工作,再让新实例接管。保留已发送消息和已生成文件的记录,恢复后的首次运行先检查目标现状,减少重复执行。
备份记录应包含什么
记录备份日期、程序版本、实际状态目录、配置文件位置和密钥来源。使用外部数据库时,还应记录数据库备份对应的时间点。记录里不写明文密码;秘密配置按原有受限方式保存。
确认恢复清单通过后再按自己的保留策略清理旧副本。成功复制文件只能证明有副本,能够恢复并完成小任务才证明这份副本可用。
桌面迁移数据目录
打开 设置 → 数据目录,查看当前目录并选择新位置。阅读确认信息后启动迁移;Nexus 会迁移完整状态并立即重启。
迁移前保留备份,确认目标磁盘空间和访问权限。不要在线拆分 app/ 与 users/,也不要在迁移中手动搬动子目录。重启后检查页面显示的实际目录与历史文件。
迁移或升级失败
先保留原目录和新目录,检查应用提示与日志,保留可用于恢复的数据副本。看到结果不明确的提示时先核对当前目录,避免重复发起迁移。
跨版本回退使用升级前的数据快照与对应旧版本。新的数据库结构未必能被旧程序读取,单独降级二进制不保证可用。