Skip to content

V2.8.4 ​

更新日期:2026 年 10 月 31 日

以下内容以 V2.8.3 为基线,新增全量备份与恢复能力,并按 Linux 自部署、Vercel 和 Windows 安装版分别处理文件保存、下载和恢复流程。

本版把学校业务数据整理成可校验的完整备份文件。管理员可以先预览备份内容,再确认覆盖;恢复失败时,原数据仍由事务回滚或恢复前保护备份保留。

升级影响

备份相关表会在服务端按需创建或补充字段,不需要手工执行数据库迁移。升级前仍建议先保留现有数据库备份,并避开考试时段操作恢复。

Vercel 备份生成后会立即下载到本机,云端只保留记录和短暂的分块数据;Linux 自部署需要配置持久化备份目录;Windows 的备份、自动计划和恢复继续使用控制中心。

一、全量备份 ​

备份内容与格式 ​

  • 业务数据完整覆盖:包括学校、年级、班级与考试快照,考试记录和生命周期操作,账号、角色与授权范围,设备和 ClassIsland 插件绑定,学校公告、图片、回执和模板,以及时间控制和诊断设置。
  • 运行数据明确排除:不包含部署环境变量、数据库连接串、邮件或平台密钥、运行日志、运行队列、备份列表和自动任务设置、浏览器偏好、离线草稿与目标实例的部署配置。外部图片只保留 URL,不会把远程资源下载进备份。
  • 可验证文件:文件使用 UTF-8 JSON 和 .novora-backup 扩展名,包含数据库结构指纹与内部 checksum;下载时另提供 .sha256 校验文件。SHA-256 用于确认文件完整,不是加密或数字签名。
  • 传输边界:Web 端按 512 KiB 分块传输,恢复前会合并分块后再校验;只接受当前数据库结构的备份,不提供跨结构迁移、增量备份或文件密码加密。

设置页入口 ​

设置 → 数据与维护 → 全量备份与恢复。只有具有全部学校范围和通配权限、且不需要修改密码的超级管理员可以查看和操作。备份列表会展示状态、大小、校验值和可用的下载操作。

二、按部署方式工作 ​

Linux 自部署 ​

  • 手动备份和恢复前保护备份保存到 BACKUP_STORAGE_DIR,目录应位于重建容器后仍保留的持久卷中。
  • 自动备份默认关闭;开启后按 Asia/Shanghai 日期每天成功一次,默认保留最近 14 份,可配置 1–365 份。手动备份和恢复前保护备份不参与自动轮转。
  • Docker Compose 使用独立 backup worker,每 15 分钟检查一次;非 Docker 部署需单独启动 node server-build/server/backupWorker.js,BACKUP_WORKER_ENABLED=1 只表示允许调度,不会自动创建进程。
  • 备份、删除和恢复通过数据库租约互斥,过期任务会显示为中断,失败原因会保留在记录中。

Vercel ​

  • 点击“生成并下载备份”后,在当前操作中生成完整快照,并下载 .novora-backup 和对应 .sha256 文件。
  • Vercel 不提供定时备份、云端历史文件再次下载或持久备份存储,只保留生成时间、大小、状态、内部 checksum 与文件 SHA-256 等记录。临时分块下载数据会在完成校验后清理,未完成的数据最多保留 30 分钟。
  • Vercel 备份文件上限为 20 MiB。恢复前会先生成并下载保护备份,只有保护备份和待恢复文件都完成校验后才会覆盖数据。

Windows 安装版 ​

  • Web 设置页只展示已有 .dump 文件,并提供下载和 .sha256 校验文件;创建、自动计划和恢复仍由 Windows 控制中心负责。
  • Web 使用的 .novora-backup 与控制中心的 .dump 格式不互通。Web 文件列表受 NOVORA_WINDOWS_BACKUP_DIR 目录边界和服务账户读取权限约束。

三、恢复保护与校验 ​

  1. 选择 .novora-backup 后,系统校验文件 SHA-256、内部 checksum、数据库结构、完整数据列和可用的超级管理员账号,并预览创建时间、大小、管理员和各业务数据项数量。
  2. 输入当前超级管理员密码,并输入 RESTORE 确认覆盖。
  3. 系统建立维护租约,阻止普通业务写入。Linux 先保存恢复前保护备份;Vercel 先生成并下载保护备份及 .sha256 文件。
  4. 数据在单个事务中替换,清空运行队列,更新修订与序列并使旧会话失效;目标实例原有加密密钥保留。事务失败时原数据和会话密钥回滚。
  5. 恢复成功后需要使用备份中的账号重新登录。恢复代际标记会阻止恢复前产生的离线草稿自动写回,结束后保留短暂写入缓冲期再恢复业务写入。

四、升级提示 ​

  1. V2.8.3 → V2.8.4 不需要手工执行 SQL;首次访问备份功能时,服务端会自动完成所需表和字段的准备。
  2. 升级前备份数据库与部署目录。Vercel 的备份文件需要在生成时下载并自行保存,不能把云端记录当作长期文件存储。
  3. Linux 自部署先确认备份目录位于持久卷,并检查服务进程对目录有读写权限;启用自动备份后再确认 backup worker 正在运行。
  4. Windows 用户继续从控制中心创建、计划和恢复 .dump;不要把 .novora-backup 上传到 Windows 控制中心。
  5. 建议在测试实例先验收:生成并下载备份、上传并预览、执行一次恢复,再确认旧会话失效、备份账号可以重新登录以及公告图片和考试记录仍可读取。

更完整的兼容说明见版本兼容与升级。

Novora 部署与维护文档