用途:为数据库生成完整的灾难恢复(DR)流程文档与配套脚本,把备份策略、恢复步骤、校验和人员分工整理成可执行手册。
主要能力:
- 备份策略:定义全量(每日)、增量(每小时)、事务日志(每15分钟)备份的时间、保留期、存储位置(如 S3 s3://backups/full/)、大小与耗时。
- 备份自动化脚本:提供 PostgreSQL 的 pg_dump 脚本(含压缩、上传 S3、校验、清理本地旧备份、Slack 通知)与 MySQL 的 mysqldump 脚本。
- 恢复流程:全量恢复脚本(从 S3 下载、建库、pg_restore、校验表数与行数)与基于时间点的恢复(PITR)脚本,使用 pg_basebackup 与 recovery.conf 配置 restore_command、recovery_target_time。
- 校验检查:validate-restore.sh 检查表数量、关键表行数、外键、索引与查询性能。
- 灾难恢复手册:按事件响应分步(评估、止损、确定恢复点、准备环境、执行恢复、验证、切换、恢复后处理),含联系人、命令示例与 RTO/RPO 表格。
- 备份监控:TypeScript 脚本用 S3 ListObjectsV2Command 检查最近备份时间与大小并告警。
- 角色分工:DBA、工程负责人、DevOps、产品经理职责与升级路径。
使用方式:按手册中的脚本路径(如 scripts/backup-postgres.sh、scripts/restore-postgres.sh)执行;恢复时传入备份文件名,如 ./scripts/restore-postgres.sh production_20240115_020000.sql.gz,再用 ./scripts/validate-restore.sh production_restored 校验。
适用场景:需要为生产数据库建立可演练的灾难恢复流程、明确 RTO/RPO 与责任人的团队。
限制:资料未提供该技能的具体安装命令、收费方式、支持平台与版本要求;示例中的主机名、桶名、密码等均为占位符,需按实际环境替换。