Skip to content

配置定时备份与保留份数

最后更新 查看 Markdown

定时备份策略挂在每个实例上,包含启用开关、每天执行时间和保留份数三个字段。本文说明如何配置这三个字段,以及一个容易被误解的事实:关闭启用开关不会让已有备份变得安全。

界面示意图:定时备份策略弹层:启用开关、每天执行时间、保留份数输入框、下次执行时间与上次执行时间、保存策略按钮

关闭开关后,会发生什么、不会发生什么

关闭开关前,先看清楚它实际控制的范围有多窄:

会发生什么 不会发生什么
已有备份仍按保留份数持续被自动清理,每 15 分钟一轮,每轮最多删除一份,直到数量降到保留份数以内 不会因为关闭开关就跳过清理——清理任务遍历全部策略,不检查开关是否打开
只是停止产生新的定时备份——每 5 分钟一次的调度扫描只处理已启用的策略,关闭后不再产生新备份 不会保留"关闭前的最后一份"或给予任何特殊豁免,清理只看数量和创建时间
如果清理当轮实例正有其它活跃工作请求(例如迁移、开机),本轮跳过,下一轮(15 分钟后)再试 不会弹出二次确认,也不会发送通知——这是后台任务自动发起的删除,操作者标记为系统
一旦被清理任务选中,删除立即执行且不可逆,走的是与手动删除备份相同的真实删除路径 不会有回收站或软删除,也不会因为底层删除失败而让备份重新出现

开始之前

  • 实例此前保存过至少一次备份策略(哪怕当时是启用状态),数据库里已经有这条策略记录。
  • 保留份数大于 0——前端默认值为 7,保存时会拒绝小于等于 0 的输入。
  • 从未保存过策略的实例不受清理任务影响,因为清理任务只遍历数据库里已有的策略记录,没有记录就无从清理。

配置执行时间与保留份数

  1. 打开 计算 > 实例,进入目标实例详情的 备份 页签,点击定时备份摘要,打开策略弹层。
  2. 打开左侧的启用开关。开关打开后,执行时间和保留份数的编辑框才会出现——界面会提示:"先启用左侧的定时备份开关,再在这里设置执行计划与保留份数。"这句提示描述的是如何打开编辑入口,与旧备份是否会被清理无关。
  3. 设置每天执行时间和保留份数。策略摘要会随之更新为类似"每天 03:00 · 保留 7 份"的格式。
  4. 点击 保存策略。弹层会显示更新后的下次执行时间,作为本次保存已生效的确认。

关闭定时备份

  1. 在同一个策略弹层,关闭左侧的启用开关。
  2. 执行时间和保留份数的编辑框会随之隐藏,但之前保存的保留份数仍在数据库里生效,不会被清空或重置。
  3. 点击 保存策略。策略摘要变为"未启用",但这只影响是否继续产生新备份,不影响已有备份的清理。
界面示意图:定时备份策略弹层的关闭状态:启用开关处于关闭、隐藏的执行时间与保留份数编辑框、策略摘要显示未启用

定时任务的实际节奏

设置的执行时间和实际触发时间对不上,通常是因为背后其实是两个独立节奏的定时任务,而不是同一个:

任务 频率 判断依据 是否检查开关状态
新备份扫描 每 5 分钟一次 到期(下次执行时间已到)且已启用的策略 是——只处理启用状态的策略
保留份数清理 每 15 分钟一次 该实例已完成的备份数量是否超过保留份数 否——遍历全部策略,不检查开关状态

设置的"每天执行时间"决定的是目标时刻,真正触发要等下一次 5 分钟扫描发现"已到期",所以实际创建时间可能比设置时间晚数分钟。保留份数清理是完全独立的 15 分钟节奏,与设置的执行时间无关,也不受开关状态影响,会一直运行到备份数量降到保留份数以内为止。

如果你想真正保留某份备份

关闭定时备份开关不能保护任何一份备份。真正能阻止某份备份被清理的方法只有两种:

  • 提高保留份数,让该实例已完成的备份数量不再超过上限。
  • 把想保留的备份转换为自定义镜像。转换完成后,该备份会从备份列表中移除,并作为自定义镜像显示,不再受保留份数清理管辖;底层数据不会被复制,存储用量不会增加。

相关文档

这篇文档对你有帮助吗?