文档首页 / 备份与恢复

备份与恢复

平台内置备份恢复功能的操作方法、备份包内容与不包含的对象、自动备份与保留策略、恢复预检与流程,以及需要自行备份的文件与换机重建清单。

概述

平台内置「备份恢复」功能,把配置库中的业务数据与关键文件目录,按同一时间点打成一个 zip 备份包,并支持在页面上预检、恢复。仅管理员可用。

备份包只覆盖平台数据。程序本身(jar)、数据库连接配置、JDBC 驱动、插件等不在包内,需要另行备份,见下文「需要自行备份的对象」。

功能入口

「系统 > 智能运维 > 备份恢复」。Sight Wall 中入口同名。页面顶部的按钮:「立即备份」「上传备份包」「备份设置」「刷新」。列表列:时间、类型(手动、自动、恢复前、上传、已发现)、备份包、大小、版本、schema、状态、操作人;行操作:下载、恢复、删除。

备份包内容

包含

类别 说明
配置库数据 用户与组织、权限、报表与大屏模板及版本、参数与查询表单、公共数据集、数据源连接(含加密凭据)、系统设置、定时任务定义、邮件与 Webhook 配置、MCP 访问令牌与登记信息、续打进度等
字体 data/fonts
AI 提示词覆盖 data/ai-docs
大屏素材 data/work/screen-assets,仅 Sight Wall
模块附件目录 其他模块登记的附件目录(如启用表单模块后的附件目录)

不包含

对象 原因与处理
授权信息(环境标识、授权内容、时钟与绑定状态) 授权与环境绑定,不随包迁移,恢复时保持本机现状。换机重建需重新签发授权
集群令牌、节点身份登记 运行期数据,恢复后自动重建
各类日志(审计、登录、报表操作、错误日志等)、定时任务执行日志、邮件与 Webhook 发送记录 日志类数据不备份
登录锁定、一次性令牌、密码历史、分布式锁、外部数据集临时数据 瞬态数据,恢复旧状态反而有害
备份台账本身 恢复时保持当前台账不变
演示数据 不进包;需要时在「系统 > 系统设置 > 示例数据」中从发行包重新导入
data/drivers(JDBC 驱动)、data/plugins(插件) 未纳入本功能范围。恢复后数据源配置都在但驱动不在时,连接会失败
database.config、jar、缓存目录、日志 不属于平台数据

注意:备份包内含数据源凭据、AI 配置的密钥等敏感信息,拿到备份包基本等于拿到系统。下载前会弹出确认,下载操作会写入审计日志。请按机密文件保管。

备份包包含与不包含的内容对照

操作步骤

手动备份

  1. 打开「备份恢复」页,点击「立即备份」。
  2. 页面显示任务进度,依次为「导出配置库」「打包文件资产」「写清单」。
  3. 完成后备份包出现在列表中,存放在备份目录(默认 <程序目录>/data/backups)。

备份先写入 .tmp 文件,完成后改名,因此列表中不会出现不完整的包。同一时间只能运行一个备份或恢复任务。

自动备份

系统内置一个名为「自动备份」的系统任务,属于分组「系统任务」,默认每天凌晨 1 点运行(Cron 表达式 0 0 1 * * ?),创建时启用。在「系统 > 定时调度」页可以查看它、切换「启用」状态或点击「执行」立即运行;系统任务不能编辑,也不能删除。

集群下该任务只会在一个节点执行。如果备份或恢复任务正在运行,本次自动备份会被跳过。自动备份产生的包在列表中类型显示为「自动」。

备份设置(保留策略)

点击「备份设置」:

项 说明 默认值
保留份数 最多保留的备份包份数 7
保留天数 备份包保留天数 30
占用上限 备份包总占用上限(MB) 5120
存放目录 只读,显示当前备份目录,由 app.backup-dir 决定 <程序目录>/data/backups
磁盘可用 只读,显示备份目录所在磁盘的可用空间 自动检测

三项中任一项超限就删除最早的包。保存后立即执行一次清理。恢复前自动生成的兜底包单独保留 3 份,不占上述配额。类型为「上传」和「已发现」的包是人主动放入的,不受保留策略自动清理。

备份包会增长到很大,系统盘放不下时,把 app.backup-dir 指向单独的数据盘,见 配置项参考。

下载与上传备份包

  • 「下载」:确认提示「备份包含系统凭据,请按机密文件保管。确认下载?」后下载 zip。
  • 「上传备份包」:选择 zip 文件上传。上传只是把包收进列表,不会执行恢复。文件校验清单后入账,缺少清单的 zip 会被拒绝,提示这不是本产品的备份包。备份包以原始数据流上传,不受表单上传大小限制,但会先检查备份目录剩余空间。

恢复

  1. 在列表中找到状态成功的备份包,点击「恢复」。
  2. 弹出「恢复备份」对话框,程序对该包做预检,逐项显示结果,见下表。
  3. 有「阻断」项时无法继续;有「警告」项时需要勾选「我已知晓,仍要继续」。
  4. 输入备份文件名以确认,点击「确认恢复」。预检令牌有效期 30 分钟,超时需要重新预检。
  5. 恢复期间页面显示任务进度。系统进入维护模式,普通用户暂时无法访问。
  6. 恢复完成后,阅读「恢复完成」对话框中的提示,重启服务(必须),再验证数据。

恢复流程依次为:恢复前自动备份当前状态(生成兜底包)、进入维护模式、恢复配置库、恢复文件资产、收尾。文件目录采用改名换入:原目录被改名为 .bak-<时间戳> 后再解包,失败时会改回。

恢复完成后必须重启服务,因为字体、驱动、插件、AI 配置与缓存都还在内存中。

注意:恢复会用备份包整体覆盖当前的配置库业务数据与文件资产,不可撤销。开始前自动生成的兜底包可用于回退。

恢复备份的九个步骤,含预检、兜底备份、维护模式与重启

恢复预检项

检查项 级别 说明
包格式 阻断 包格式版本必须受当前版本支持
产品 阻断 不能跨产品恢复:Sight Report 的包不能恢复到 Sight Wall
迁移链 阻断 备份包与当前库的数据库迁移记录必须一致,不一致时提示哪一侧多了哪些迁移,需要先把产品版本对齐
完整性 阻断或警告 校验和不符则阻断;包内没有校验和则警告
磁盘空间 阻断 按包体大小的 2.5 倍预留兜底包与解包空间
加密密钥 警告 四个加密密钥的指纹与备份时不同时警告。恢复后数据源会连不上、AI 配置失效且不报错,需要先把环境变量设成与源机一致
环境标识 警告 备份包来自其他环境时提示。换机重建属正常情况
表覆盖 提示 包内缺少某些表时提示,这些表恢复后保持当前内容
任务冲突 阻断 有备份或恢复任务正在运行

退出维护模式

恢复成功后系统自动退出维护模式。恢复失败时系统会保持在维护模式,因为此时库的状态不确定。页面顶部会显示「系统处于维护模式」提示,确认数据无误后点击「退出维护模式」。维护模式下管理员仍能登录并使用备份恢复页。

需要自行备份的对象

对象 位置 说明
配置库 外接数据库 用数据库自带工具定期全量备份,尤其在升级前。这是回滚的依据
内置 H2 数据库 data/work/db/ 停服后复制整个目录
数据库连接配置 data/work/database.config 含加密后的数据库密码,按机密文件保管
JDBC 驱动 data/drivers/ 备份包不含
插件 data/plugins/、data/plugins-data/ 备份包不含
加密密钥 环境变量 SIGHTDATA_*_KEY,或系统属性 记录在安全的地方,恢复与换机时要与源机一致
授权文件 服务商提供的授权文件 授权保存在配置库,但换机重建时需要重新签发
备份包 备份目录 定期复制到异地

换机重建清单

  1. 在新机器上安装同一版本的产品,JDK 21+,准备好配置库(新库或还原后的库)。
  2. 设置与源机一致的加密密钥环境变量。
  3. 通过初始化向导创建配置库结构与管理员,见 初始化向导与数据库准备。
  4. 在「备份恢复」页点击「上传备份包」,把备份包收进列表,再执行恢复。备份目录里手工拷入的包,只有在一次恢复收尾时才会被自动对账补进列表,因此请优先使用上传。
  5. 复制 data/drivers/ 与 data/plugins/,重启服务。
  6. 授权因环境变化会失效,按 授权与许可 重新获取环境信息并导入新授权。

注意事项

提示:定期演练恢复流程,确认备份包可用且预检能通过。

注意:跨版本恢复要求迁移链一致。用旧版本生成的包恢复到升级后的系统,会在预检阶段被阻断。

相关文档

联系我们

请填写您的信息,我们将在 1 个工作日内与您联系。