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目录边界和服务账户读取权限约束。
三、恢复保护与校验
- 选择
.novora-backup后,系统校验文件 SHA-256、内部 checksum、数据库结构、完整数据列和可用的超级管理员账号,并预览创建时间、大小、管理员和各业务数据项数量。 - 输入当前超级管理员密码,并输入
RESTORE确认覆盖。 - 系统建立维护租约,阻止普通业务写入。Linux 先保存恢复前保护备份;Vercel 先生成并下载保护备份及
.sha256文件。 - 数据在单个事务中替换,清空运行队列,更新修订与序列并使旧会话失效;目标实例原有加密密钥保留。事务失败时原数据和会话密钥回滚。
- 恢复成功后需要使用备份中的账号重新登录。恢复代际标记会阻止恢复前产生的离线草稿自动写回,结束后保留短暂写入缓冲期再恢复业务写入。
四、升级提示
- V2.8.3 → V2.8.4 不需要手工执行 SQL;首次访问备份功能时,服务端会自动完成所需表和字段的准备。
- 升级前备份数据库与部署目录。Vercel 的备份文件需要在生成时下载并自行保存,不能把云端记录当作长期文件存储。
- Linux 自部署先确认备份目录位于持久卷,并检查服务进程对目录有读写权限;启用自动备份后再确认 backup worker 正在运行。
- Windows 用户继续从控制中心创建、计划和恢复
.dump;不要把.novora-backup上传到 Windows 控制中心。 - 建议在测试实例先验收:生成并下载备份、上传并预览、执行一次恢复,再确认旧会话失效、备份账号可以重新登录以及公告图片和考试记录仍可读取。
更完整的兼容说明见版本兼容与升级。