搜索全站
网站迁移 5 分钟阅读

服务器快照备份与回滚:WordPress 站点的正确用法与风险

快照能在几分钟内把整台服务器恢复到某个时间点,是最快的灾难恢复手段。但快照是整机级的,回滚会一并回退数据。本文讲清快照与文件备份的区别、快照策略配置、回滚前的必要准备、WordPress 场景下的典型误用,以及快照不能替代应用级备份的原因。

U
UFO_PF 2020-11-25 · 阅读 5 分钟
服务 网站迁移
阅读提示
本文约 1,931 字,预计阅读 5 分钟。文中命令与配置均经过实测,可直接参考执行。

引言:快照很好用,但它不是备份

快照的价值:几分钟恢复整台机器,包括系统、环境、配置、数据——不用重装、不用配环境。故障时的救命稻草。

但很多人把快照当备份用,结果踩坑:回滚后,昨天写的十篇文章也没了,因为快照是整机级别的,它不区分”系统”和”数据”。

原理分析:快照和备份的区别

维度 快照(Snapshot) 文件/数据库备份
粒度 整个磁盘 单个目录或数据库
恢复对象 整台服务器 单个文件或表
恢复速度 快(分钟级) 取决于体积
跨机恢复 通常受限(同地域) 任意服务器
回滚副作用 全部数据回退 只影响恢复的部分
成本 按容量计费 低

还有一个技术点:快照通常是增量的,第一次是全量,之后只存变化块。但删除中间的快照一般不会导致数据丢失(云厂商会做引用管理),具体行为要看厂商文档。

保姆级实操

第一步:配置自动快照策略

阿里云:ECS → 存储与快照 → 快照策略 → 创建:

重复日期:每周一、周四
时间点:03:00
保留时间:14 天(或保留 5 份)

腾讯云:CVM → 快照 → 定期快照策略,配置类似。

关键取舍:

  • 频率:更新频繁的站点每天一次,展示型站点每周两次;
  • 保留:至少覆盖 7 天,重要站点 30 天;
  • 时间:选业务低峰,且避开数据库备份时间(避免冲突)。

第二步:手工快照(操作前必做)

做任何高风险操作前打一个手工快照:

  • 升级 PHP / 数据库大版本;
  • 批量替换数据库;
  • 更换主题或大版本插件更新;
  • 迁移、改 DNS 之前。

命名要有意义:

before-php82-upgrade-20261010

第三步:回滚前的准备(关键)

回滚会把整个磁盘回到快照时间点,包括之后新产生的所有数据。所以回滚前必须:

  1. 先导出当前数据库:
mysqldump --single-transaction --quick wordpress > /root/emergency-$(date +%F-%H%M).sql
  1. 把导出文件放到快照之外的地方(另一台机器、对象存储),因为回滚会覆盖本机磁盘;

  2. 确认回滚影响范围:如果服务器上有多个站点,回滚会影响全部。

第四步:执行回滚

阿里云:ECS → 快照 → 选择快照 → 回滚磁盘 → 确认 → 停止实例 → 回滚 → 启动实例。

腾讯云:类似流程,需要关机。

回滚后:

# 检查站点
wp core version
wp option get home
systemctl status nginx php8.2-fpm mysql

第五步:回滚后找回新数据

如果回滚后需要找回快照之后的新文章:

mysql -e "CREATE DATABASE wp_recover;"
mysql wp_recover < /root/emergency-20261010-1400.sql
# 导出需要的文章,再导入生产库

用 WP-CLI 导出单篇文章再导入更精细(见第 059 篇)。

第六步:用快照做”克隆测试环境”

快照的另一个高价值用法:从快照创建一台新服务器,作为测试环境。

ECS → 快照 → 创建自定义镜像 → 用镜像开一台按量付费实例 → 测试 → 释放

这样测试环境与生产完全一致,测完销毁,成本极低。

常见踩坑与失败案例

  1. 直接回滚导致数据丢失 —— 最常见的误用。回滚前一定先导出当前数据库。
  2. 案例:某站被挂马,运维直接回滚到三天前的快照,站点干净了,但三天内的 200 多条订单也一起消失了。正确做法是:先导出当前数据库 → 回滚 → 清理 → 再把订单数据增量导回。
  3. 快照创建时未停止写入导致数据不一致 —— 数据库正在写入时打快照,可能得到不一致的 InnoDB 文件。阿里云/腾讯云支持”应用一致性快照”(需安装插件),或选择在低峰期操作。
  4. 以为快照是异地备份 —— 快照通常与云盘在同一地域,地域级故障时一起受影响。重要数据仍要跨地域复制。
  5. 快照费用累积 —— 长期保留大量快照会产生不小费用,配置自动删除策略。
  6. 只有系统盘快照 —— 数据盘(如 uploads 单独挂载)要单独配置快照策略。

总结

快照是整机级快速恢复手段,最适合用在”高风险操作前的保险”和”系统级故障恢复”。它不能替代应用级备份,因为回滚是”全有或全无”的。正确用法是快照 + 应用级备份双轨:日常用 mysqldump/插件做细粒度备份(能找回单篇文章),重大操作前打快照(能整机回退),并且回滚前永远先导出当前数据库。记住这条顺序,快照就从”危险按钮”变成”可靠保险”。

U
UFO_PF作者

专注 WordPress 生态的实战作者,内容以「可复制、可验证」为第一原则。

留下你的想法

邮箱地址不会被公开。带 * 的为必填项。