## 症状现象
数据误删后按流程恢复备份,恢复过程报错,或恢复完成但数据打不开、数据库导入失败。备份一直在做,文件也都在,关键时刻却用不了。检查发现备份任务天天显示成功,但从没有人验证过备份内容本身。备份成功只说明复制完成,不代表可用。
## 定位过程
坏备份的成因按概率排查。传输损坏:备份经网络传输到异地,传输中断或位翻转,落盘文件与源不一致,没有校验和就无人察觉。截断文件:备份中途磁盘满或进程被杀,留下不完整文件,任务重试逻辑缺失时半截文件被当成品。版本漂移:软件升级后备份格式变化,旧恢复工具打不开新格式,或恢复流程依赖的环境早已变更。三类成因的验证手段一致:校验和比对与实际恢复演练。
sha256sum backup-2026-08-01.tar.zst zstd -t backup-2026-08-01.tar.zst tar -I zstd -tf backup-2026-08-01.tar.zst > /dev/null && echo OK
## 解决方法
把校验做成备份的一部分:备份完成立即计算校验和,与文件一起归档;传输后重新计算比对;完整性测试纳入每日备份任务的收尾步骤,失败即告警。定期抽检:每周随机抽一份备份做解压验证,每月做一次真实恢复演练,把备份恢复到临时环境并打开验证。发现坏档立即补做全量,同批次的增量全部作废重跑。
## 预防建议
没有验证过的备份不算备份,这句话值得贴在机房墙上。备份三问每月自检:最近一份备份校验过吗,最近一次恢复演练是什么时候,恢复到新机器的环境还搭得起来吗。顺云云服务器快照加异地备份的双轨制,配合定期回滚演练,才是完整的可恢复性。
恢复演练的环境问题再强调一次:演练要在干净的机器上做,按文档从零搭建恢复环境,依赖镜像与工具版本全部来自归档。生产机上顺手试恢复,成功了说明不了可移植性,失败了还污染生产。演练记录包含耗时、踩坑与改进项三段,改进项在下一次演练前逐条销号。