服务器备份要备份什么?有备份文件就能恢复吗?

核对网站文件、数据库、上传内容与配置,分清同机副本和独立备份,并用隔离恢复测试、恢复前清单检查是否具备恢复条件。

有一个备份文件,不代表业务一定能恢复。网站文件、数据库和配置是否齐全,备份时间是否合适,以及有没有试过恢复,都需要确认。只把备份留在原服务器里,也可能和原数据一起受损。

先列出业务恢复需要的资料

一个网站的恢复资料组成 · 示意

中央服务器与程序文件夹、数据库、图片上传文件夹和配置齿轮分别关联,表示恢复业务要核对多个组成部分。
01程序或网站文件
程序版本、主题、插件,以及自己修改过的文件。
02数据库
业务记录、账户及应用实际使用的数据;核对备份范围和时间。
03上传内容
图片、附件和用户生成的文件;它们可能不在程序目录里。
04服务及应用配置
启动参数、服务配置、定时任务及必要的部署资料。

组成关系示意,不是本站备份产品。连线不表示已经自动备份,也不表示其中一项可以替代其他资料。

按实际应用列清单,不是所有业务都有以上四项。另记运行环境、软件版本和部署步骤;依赖外部存储或其他服务时,记录对应关系及恢复所需条件。

证书私钥、访问凭据等敏感资料若需要纳入备份,应限制访问并妥善加密保存,恢复所需的解密资料也要有受控的保管安排。不要公开上传,或通过普通工单发送这些内容。

副本放在哪里,影响能防住哪些风险

磁盘故障、误操作、重装或入侵,都可能同时影响原数据和同机副本。多复制一个目录,并没有让这份资料离开原服务器的故障范围。

同一台服务器

原数据

同机副本

共同受损范围仍在同一台机器内。

独立备份位置

原服务器

独立存储位置

分开保存,减少一次故障同时影响两份资料的风险。

风险范围示意。独立位置并不等于绝对安全:还要核对访问权限、版本保留、读取方式及恢复方法。这里不表示 Fast-BGP 默认提供异地备份。

备份频率,从两个时间问题开始

最多接受丢失多久的新数据?

用这个时间要求检查备份间隔,以及最近一次成功备份距现在有多久。

业务停止后,希望多久恢复?

把取回资料、准备环境、导入数据和功能验证的时间都算进去。

这两个目标分别对应可接受的数据损失时间和恢复时间。[1] 更新频繁的订单数据与很少改动的展示页,未必需要相同的备份频率。频率应按业务要求和实际测试结果确定。

保留多个时间点,而不只保留最新一份。最新备份也可能已经包含误删或错误数据;选择恢复点时,要确认问题何时开始,以及较早的备份是否仍可读取。

数据库应使用适合该数据库和版本的备份方式。不要把直接复制运行中的数据目录当成通用办法。例如 PostgreSQL 官方文档对普通文件复制、完整范围和一致性快照分别规定了条件。[2]

快照、文件副本和备份,别只看名字

文件副本可能只包含选定目录;快照的保护范围由具体产品和操作决定。是否包含全部磁盘、是否保持应用一致性、保存在哪里、保留多久、能否脱离原实例恢复,都要核对。不能只凭“快照”或“备份”这个名字下结论。

应用一致性是什么意思?

它关心的是恢复后的数据能否在应用层保持可用且相互一致。例如数据库记录和对应附件是否匹配。以 Amazon EBS 为例,官方文档说明卷快照只包含已写入卷的数据,不包含应用或系统仍在缓存中的数据,并给出一致性方面的操作要求。[3] 这只是特定服务的规则,不能套用到所有快照,也不是要求你现在停止生产服务。

有文件,为什么还是恢复不了

以下是说明性场景,不是真实客户案例。

只保留网站文件

冲突在哪里
缺少数据库或上传目录,页面程序还在,业务内容却不完整。
下一步确认
对照应用清单查找数据库备份、附件目录及它们的时间点。

文件齐全,程序仍起不来

冲突在哪里
程序、数据库版本或配置与备份环境不匹配。
下一步确认
核对原版本、依赖、配置和启动步骤,先在隔离环境验证。

旧备份可用,但今天还有新数据

冲突在哪里
直接恢复可能覆盖备份之后新增或修改的内容。
下一步确认
先保存当前数据,确认哪些记录需要保留或另行合并,再确定恢复范围。

在隔离环境中试一次恢复

文件能打开、校验值一致,只说明通过了相应的文件检查,不等于业务已经能运行。恢复演练要检查数据和应用,并记录所需时间。[1]

  1. 1.记录备份时间、包含内容、完成状态,以及是否有失败或遗漏。
  2. 2.检查文件可读取,执行该备份方式要求的完整性校验。
  3. 3.在与生产隔离的测试环境尝试恢复,使用匹配的软件与配置。
  4. 4.核对关键记录、附件和必要功能,不只检查进程是否启动。
  5. 5.记录恢复步骤、依赖、遇到的问题及大致耗时,供下次复核。

测试前隔离真实通知和支付接口,禁用会重复执行的定时任务,确认不会写入生产数据库或覆盖生产文件。测试环境中的敏感数据也要限制访问;本指南不提供一键恢复命令。

真正恢复前,逐项核对

静态阅读清单,不是执行授权,也不会在此页面保存勾选。

01恢复时间点
哪一份备份早于问题发生,内容是否完整?
02覆盖范围
哪些文件、数据库或配置将被替换?
03当前新增数据
怎样先保留,是否需要另行合并?
04版本与依赖
程序、数据库及运行环境是否匹配?
05恢复位置
回到原环境,还是先在新环境恢复?
06执行安排
由谁操作,何时进行,谁负责确认?
07失败后的处理
验证失败时怎样停止切换、保留现场或回到原环境?

需要本站协助时,提供什么

本站现行服务说明将系统内应用、数据和备份安排交由客户负责,基础服务不包含技术排查、软件配置或代运维。订单、资源交付或已约定服务的问题,可通过客户中心工单核对;已有订单明确包含的服务,按约定确认范围。不能据此推定本站会执行数据恢复。

  • 服务编号或对应商品。
  • 问题发生时间及之前执行过的操作。
  • 现有备份的时间、类型和已知完整性。
  • 希望恢复的范围,以及是否会覆盖现有数据。

不要在工单中公开密码、私钥或备份下载凭据。提交问题不等于已授权覆盖数据;执行前应确认范围和安排。本站不在本指南中承诺默认备份、免费恢复、恢复成功或固定完成时间。

参考资料

  1. AWS Well-Architected — Data, applications, configuration and recovery testing
  2. PostgreSQL — File System Level Backup
  3. Amazon EBS — Create snapshots and consistency considerations
服务器备份与恢复:备份哪些资料,怎样验证可用 - Fast-BGP