07 / 13
计划与保留
cron 计划、新鲜度阈值、暂停语义与保留策略
计划
在每个数据库行的“计划与心跳”抽屉中配置:
- Cron 表达式:标准五段(分 时 日 月 周),或
@daily等别名;留空 = 仅手动。 时区用 IANA 名称(如Asia/Shanghai)。 - 新鲜度阈值(小时):最近一次成功备份超过该时长,保护状态变为 EXPIRED;
0= 关闭阈值。 - 暂停:暂停计划任务且不再产生新的过期事件(已有通知仍会投递);手动“立即备份”不受影响。
- 首次启用:游标从零开始,配置保存后第一次 tick 即会触发(不等下一个 cron 时刻)。
到期且该库已有任务在排队/运行时会跳过本轮(单库单并发),日志说明游标未推进、 任务结束后补发一次。
保留策略(双轨)
本地:每库保留最近 SB_LOCAL_KEEP 份密文;最新成功备份与最新“恢复验证通过”
的备份永远受保护。failed/canceled/interrupted 的工件在
SB_FAILED_ARTIFACT_TTL_HOURS 后回收。
远端:按目的地配置的保留天数/份数清理;同样受两条锚点保护:
- 最新已提交备份(anchor)永不被自动删除;
- 最新验证通过的备份永不被自动删除。
远端保留清理在没有任何锚点(从未成功提交)时不会执行破坏性删除。但失败工件的
TTL 回收不受锚点保护:若所有备份都上传失败,72 小时后其本地密文仍会被回收——
需要保全时先手动导出,或设 SB_FAILED_ARTIFACT_TTL_HOURS=0。
最后更新