首页/数据/备份与容灾速查/自动化恢复校验
本包目录(206 条)

自动化恢复校验

把『恢复 + 校验』脚本化并定期自动执行:恢复最新备份到沙箱,跑行数与校验和比对,结果异常直接告警。

备份与容灾速查数据更新于 2026-10-12

校验脚本骨架

校验脚本骨架
#!/usr/bin/env bash
set -euo pipefail
BACKUP=/backup/appdb/latest.dump
pg_restore -d appdb_verify --clean --if-exists "$BACKUP"

# 1) 关键表行数
psql -d appdb_verify -Atc "SELECT count(*) FROM orders" > /tmp/orders.cnt

# 2) 抽样校验和(对稳定字段做聚合,避免全量开销)
psql -d appdb_verify -Atc "SELECT md5(string_agg(id::text, ',' ORDER BY id)) FROM orders WHERE id % 1000 = 0" > /tmp/orders.md5

# 3) 与昨日基线比对,不一致则告警
diff -q /tmp/orders.md5 /baseline/orders.md5 || echo "ALERT: 校验和不一致" | mail -s "backup verify failed" ops@example.com
校验对象行数、抽样校验和、关键对象存在性、应用冒烟查询
基线保留上一周期的正常值用于比对,避免依赖硬编码数字
集成失败结果推送到监控/告警系统,而不是只写日志
自动化把『人记得去验证』变成『系统持续验证』,是防静默失效的关键一环。

易错点

  • 校验用硬编码数字:数据增长后天天误报,最后被当噪音忽略
  • 脚本失败只打日志不告警:恢复失败无人知晓,回到人工时代

数据来源与参考

  • 备份验证实践(自动化恢复测试)
  • SRE 实践(持续验证与告警接入)
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌