功能简介
数据备份与恢复是「数据管理」菜单下的一组运维能力,用于在批量导入、流程调整、学期切换等操作前保护系统数据。它把数据库快照与业务附件目录打包成一个「一体化备份集」,需要时把系统回滚到某个历史状态。
- 数据备份:学院管理员和超级管理员可用。一次创建一个备份集,包含系统各数据库的快照和已登记的附件目录(课程归档及签章、课程变更、电子签名、教学资料报送(含各报送项目登记的附件目录)、达成度分析、学院成果库等)。备份在后台执行,提交后可以关闭页面。
- 数据恢复、一键恢复最近快照:用备份覆盖当前数据,属于高危覆盖式操作,仅超级管理员可执行;覆盖前系统会自动再做一次当前状态的「前置快照」兜底。
- 维护模式(一键断访问):仅超级管理员,恢复或重大维护前先断开普通用户访问。同一页面(2026-09-28 起)还有「系统告警」卡片,用于登录异常与备份缺失时给超管发 QQ 提醒,见下文「超级管理员:系统告警」。
此外系统每天凌晨 4:00 自动做一次一体化备份(周日全量、其余日期对大体积附件目录做增量),备份默认保留 14 天(可由部署配置调整)。手动备份用于在重要操作前补一个时间点。
入口与权限
入口:顶部导航「数据管理」下拉菜单。菜单对学院管理员、超级管理员可见;校级监督账号(校务监督/校领导)也能看到该菜单,但其中只有「操作日志查询」;质量科代管代登录态下整组隐藏。普通教师、学生不可见。
| 菜单项 | 可用角色 | 说明 |
|---|
| 数据备份 | 学院管理员 / 超级管理员 | 创建一体化备份集 |
| 操作日志查询 | 学院管理员 / 超级管理员 / 校级监督账号 | 见 操作日志查询 |
| 数据恢复 | 仅超级管理员 | 选备份集或单库快照覆盖恢复,可选「只做演练恢复」 |
| 一键恢复最近快照 | 仅超级管理员 | 所有数据库回滚到各自最近快照 |
| 维护模式(一键断访问) | 仅超级管理员 | 断开或恢复普通用户访问;同页设置「系统告警」 |
说明:
- 学院管理员点「数据备份」时,备份的是整个系统(所有学院库与附件目录),不是只备份本学院;这是为了保证库与附件在同一时间点一致。
- 恢复类菜单对学院管理员不显示;即使构造请求,后端也会以「权限不足,只有超级管理员可以执行数据恢复」拒绝。学院需要恢复数据时,请记下目标时间点和备份集编号,联系超级管理员。
操作步骤(分角色)
学院管理员 / 超级管理员:创建数据备份
- 点「数据管理」→「数据备份」。
- 在「确认备份数据?」弹窗中阅读提示(将创建包含数据库快照以及课程归档、课程变更、电子签名等附件目录的一体化备份集),点「确认备份」。
- 弹窗显示「正在备份...」及当前进度。备份由后台任务执行,任务提交后可以安全关闭页面,不会中断备份。
- 看到「备份成功!」后,记下提示中的备份集编号,以及包含的数据库个数和文件包个数,便于日后定位。
确认备份数据弹窗:说明将创建一体化备份集
- 页面最多等待 30 分钟;超时会提示「任务已运行超过 30 分钟,请稍后在备份列表中确认结果」,此时备份可能仍在后台进行。
- 每次提交都会写入操作日志(类型「备份」),可在 操作日志查询 按模块「备份」筛选核对。
- 提示「备份任务提交失败」多为后台任务服务不可用,请联系超级管理员。
建议时机:批量导入、流程调整、学期切换之前先做一次备份。
超级管理员:用备份集恢复(覆盖式,高危)
- 点「数据管理」→「数据恢复」,系统加载恢复来源,弹出「选择恢复来源」。
- 在「一体化备份集(推荐)」下拉选择目标备份集,每项显示「编号 | 创建时间 | DB 个数 | 文件 个数 | 校验状态」,优先选「校验通过」的。
- 只想验证备份可用而不覆盖线上时,勾选「只做演练恢复,不覆盖线上」:系统把数据库恢复到临时演练目标并校验附件引用,成功后自动清理临时库。正式覆盖前强烈建议先演练一次。
- 点「开始恢复」。正式恢复会先自动备份当前状态,再用所选备份集覆盖数据库与附件目录,成功后提示「已恢复备份集 X,共恢复 N 个数据库和 M 个文件目录」。
超级管理员:用单库快照恢复
- 在同一弹窗的「传统单库快照(兼容模式)」区,按库在多选框里选择具体快照文件(「一体化备份集」须保持「不使用备份集」),点「开始恢复」。适合只回滚某一个库。
- 每个快照先做完整性校验,校验通过后为该库做一次前置快照再恢复;不允许恢复的库、文件不存在或校验失败会逐条返回原因。
超级管理员:一键恢复最近快照
- 点「数据管理」→「一键恢复最近快照」。
- 警告弹窗提示「将为已配置的所有数据库恢复最近的备份快照,当前数据将被覆盖。」,确认无误点「确认恢复」。
- 系统先为所有库做前置快照,再把每个库回滚到各自最近的快照,提示成功恢复的库数量。该操作只回滚数据库,不恢复附件目录。
超级管理员:维护模式(一键断访问)
- 点「数据管理」→「维护模式(一键断访问)」。
- 在「一键断访问」卡片填写「对外显示文案」(留空用默认文案,最多 200 字),点「一键断访问」并确认。开启后除超管外的用户访问业务页面看到维护提示;登录、静态资源、健康检查与机器通道仍放行。
- 维护完成后在「恢复访问」卡片恢复(开启状态下页面顶部横幅也有「恢复访问」按钮)。开启与恢复都会写操作日志。
超级管理员:系统告警(2026-09-28 起)
「维护模式」页在「一键断访问」「恢复访问」卡片之下选择「系统告警」标签(页面地址后加 #system-alert 可直达),标题旁的徽章显示「已启用」或「未启用」。它用一个专门的「系统维护机器人」QQ 号,把安全与备份方面的异常直接发到指定人员的 QQ,不依赖任何学院的机器人。仅超级管理员可看、可配,保存与测试都写操作日志(保存只记开关、收发号与阈值)。
默认关闭。 关闭时有人扫描、试探登录不会有任何提醒;关闭状态下系统完全不做计数,对登录速度没有影响。卡片顶部还会显示两项自检:「计数存储(Redis)」是否正常、「发送通道」是否为「QQ 中继(outbox)」。计数存储不可用时不会计数与告警;发送通道不是中继模式时,告警只写日志、不会发出。
怎么配置:
- 在「发送号(系统维护机器人 QQ)」填系统维护机器人的 QQ 号(5-12 位数字,向运维确认,本页不列具体号码)。
- 在「收件人 QQ」填接收告警的人(逗号分隔,最多 5 个,每个 5-12 位数字)。
- 按需填「重点关注账号」(口令错误即告警,最多 30 项)、「管理类用户名」(默认已含 admin、root、administrator、superadmin、system、test)、「代理设备 IP」(默认含学校负载设备地址,docker 内网网段无需填写,系统自动识别)。
- 调整阈值(保存时校验范围):统计窗口 60-3600 秒(默认 600)、不同账号阈值 2-100(默认 5)、失败次数阈值 3-500(默认 15)、同一来源冷却 300-86400 秒(默认 3600)、每小时上限 1-60(默认 6)、每天上限 1-500(默认 20)。
- 点「保存配置」。启用前必须已填发送号和至少一个收件人,否则保存被拒并提示原因。配置最多 30 秒内在全部服务进程生效。
- 点「发送测试消息」(发送号和收件人保存后才可点),用已保存的配置发一条测试;测试不受开关和上限约束,但每分钟最多 3 次。稍后刷新页面,在「最近 10 条告警发件记录」看状态。确认收到后,再勾选「启用系统告警」并保存。
系统告警卡片:①发送号,②收件人,③「启用系统告警」;上方显示计数存储与发送通道自检,下方为阈值、规则说明与最近触发、发件记录(图中号码与地址均为虚构示例)
会发哪几类告警(均为纯文字消息):
| 告警 | 触发条件 | 频率控制 |
|---|
| 疑似扫描/试探 | 同一来源 IP 在统计窗口内满足任一:① 用管理类用户名登录且该账号不存在;② 涉及的不同账号数达到阈值;③ 认证失败次数达到阈值 | 同一来源在冷却期内只报一次 |
| 重点账号口令错误 | 超级管理员账号,或名单中的重点关注账号输错口令,不看 IP,立即告警 | 同一账号在冷却期内只报一次 |
| 真实 IP 疑似未还原 | 窗口内有大量认证失败来自代理设备或 docker 内网地址,说明反向代理没能还原真实客户端地址,按 IP 的告警会失准 | 每天最多 1 条 |
| 生产备份缺失 | 系统对生产备份的每日巡检发现缺失或异常,且勾选了「生产备份缺失告警」 | 每天最多 1 条,不占用上面的每小时/每天上限 |
计数口径:
- 认证失败包括:登录失败、找回密码核验失败,以及登录、找回密码、学生注册的提交因请求过频被拦截(同一 IP 每个窗口最多计 1 次)。
- 一律按真实客户端 IP 计数;IPv6 按 /64 网段合并。来自代理设备或 docker 内网的失败不计入具体 IP,单独走「真实 IP 疑似未还原」提醒。
- 同一 IP 在窗口内有人登录成功(常见于学校出口共用一个地址),规则②③的阈值自动放宽到 3 倍;规则①(管理类用户名)不放宽。
- 全局每小时或每天发送数超过上限后,只发一条「告警过多,已暂停」说明,之后的告警只记录在本卡片,下一时段自动恢复,避免换 IP 刷屏导致发送号被 QQ 风控。
页面下方两张表:「最近触发」列出每次触发的时间、规则、来源、结果(已入队、冷却中、超上限未发、未入队等);「最近 10 条告警发件记录」列出入队时间、收件人、状态(待领取、发送中、已发送、失败)、尝试次数与错误。一直「待领取」通常是发送号没有在中继登记;尝试 5 次后「失败」通常是系统维护机器人离线。
运维注意(请务必遵守): 系统维护机器人不属于任何学院,不要把它登记到「QQ机器人管理」页(见 QQ机器人管理(学院维护与超管登记))。一旦登记,该页就会出现「下发令牌」入口,令牌一换,异地备份告警就发不出去。发送号只在本卡片填写即可。
字段与状态口径
- 备份集:一次备份产出的整体单元,含编号、创建时间、触发方式、操作者,以及数据库快照与附件文件包清单。恢复时优先按备份集整体恢复。
- 校验状态:「校验通过 / 待校验」,表示备份集是否已通过完整性核验,且没有「必需缺失」项。
- 全量 / 增量:课程归档、教学资料报送等大体积附件目录按增量打包(周日重建全量基线);其余目录每次全量。手动备份按增量方式执行。
- 演练恢复:恢复到临时目标并校验,不触碰线上数据。
- 前置快照:恢复执行前自动创建的当前状态备份,作为恢复出错时的回退依据。
- 缺失项:备份时「可选缺失」通常表示该业务尚无附件目录,无碍;「必需缺失」需排查,并会让该备份集校验不通过。
- 备份范围登记:纳入备份的附件目录由系统模块注册表统一登记,新模块未登记目录,其附件就不会进入备份。
常见问题
- 看不到「数据备份」菜单:仅学院管理员、超管可用;校级监督账号在「数据管理」里只有操作日志;质量科代管代登录态下整组隐藏。
- 能备份但看不到「数据恢复」:恢复仅超级管理员可用,这是有意的安全限制。
- 备份时可以关页面吗:可以,备份在后台执行;关页面后可在操作日志中查看备份记录。
- 学院管理员的备份会不会只备份本学院:不会,手动备份创建的是全系统一体化备份集。
- 恢复会不会丢当前数据:恢复会覆盖现状,但每次恢复前系统都会自动做前置快照;正式恢复前仍建议先演练,并避开业务高峰。
- 该选哪个备份集恢复:选「校验通过」、时间最贴近目标状态的;不确定时先勾「只做演练恢复」。
- 系统告警设好了但收不到消息:先看卡片顶部两项自检;再看「最近触发」结果列——「冷却中」「超上限未发」是被频率控制拦下的,「未入队」是发送通道或收件人有问题;「最近 10 条告警发件记录」一直「待领取」或「失败」按上文提示找运维。
- 备份期间部分操作被拦截:系统在备份窗口内会对部分写操作给出提示或拒绝(如 QQ 机器人登记),等备份完成后再操作。
相关页面
超级管理员:意见与建议 QQ 通知
维护模式页提供「系统告警」「意见与建议」两个标签,切换后分别配置。发送号和收件人共用上方系统告警的已保存配置,反馈通知开关独立,安全告警关闭、冷却或额度用尽均不影响它。
先保存系统维护发送号和收件人,再填写可选的系统访问地址、保存反馈通知配置并发送测试消息。确认收到后启用。每条新反馈发送编号、姓名、提交时间、最多 1000 字正文和图片数量;原图需登录系统查看。反馈提交人回执和原学院管理员提醒继续按既有配置运行。
启用不会自动补发历史反馈。超管可在「建议与意见列表」按编号筛选并点击「补发QQ」:补齐缺失通知或重试失败通知,已有待发送/已发送记录不重复入队。人工重试保留旧失败记录和次数,生成新的发件记录。维护页显示最近发件状态,只有中继回报成功才显示「已发送」。通知失败不影响反馈保存。