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

BackWPup 定时备份 WordPress 教程:任务配置与归档管理

BackWPup 能把 WordPress 整站备份成压缩包并自动发送到网盘、FTP 或对象存储。本文讲清它的任务(Job)配置逻辑、备份内容选择、归档格式与命名、定时任务与邮件通知设置,以及和 UpdraftPlus 的差异与适用场景。

U
UFO_PF 2024-10-27 · 阅读 7 分钟
Ba 网站迁移
阅读提示
本文约 2,505 字,预计阅读 7 分钟。文中命令与配置均经过实测,可直接参考执行。

引言:想要”一个压缩包搞定”的备份,BackWPup 更顺手

UpdraftPlus 是分组件备份,恢复灵活;BackWPup 则是”一个任务产出一个(或几个)归档文件”,思路更接近传统运维的 tar + mysqldump。

如果你想要的是”每周生成一个完整站点包,自动传到网盘”,BackWPup 的配置逻辑会更直观。

原理分析:Job(任务)模型

BackWPup 的核心是 Job:一个 Job 定义了一件事——什么时候、备份什么、存到哪、发不发送通知。

一个 Job 包含五组配置:

配置组 内容
General 任务名、备份类型(数据库/文件/插件列表等)、归档格式
Schedule 执行时间(用 WordPress cron 或外部触发)
DB Backup 备份哪些表、是否排除垃圾/修订版本
Files 备份哪些目录、排除规则
To 存储目的地(本地/FTP/S3/Dropbox/邮件等)

多个 Job 可以并存,比如”每日数据库 Job” + “每周全站 Job”。

保姆级实操

第一步:安装

wp plugin install backwpup --activate

第二步:新建 Job

后台 → BackWPup → Add new Job。

General 标签:

  • Job Name:Weekly Full Backup;
  • 勾选:Database backup、File backup、Installed plugins list(最后一项很有用,恢复时知道要装哪些插件);
  • Archive format:选 .tar.gz(Linux 通用;若服务器是 Windows 选 .zip);
  • Archive name:可用变量,如 %Y%m%d_%sitename%。

第三步:Schedule(计划)

  • Job schedule:选 WordPress cron 或 Link(外部触发);
  • 频率建议:数据库每日、文件每周。

WordPress cron 的局限:靠访问触发,低流量站点可能延迟。更可靠的方式是用外部 cron:

# crontab -e
0 3 * * * curl -s "https://mimangfei.com/wp-cron.php?backwpup=1" > /dev/null

或直接用 WP-CLI 触发(需付费版支持命令行)。

第四步:DB Backup 标签

  • 选择要备份的表(默认全选);
  • 可以排除 wp_options 里的 transient(减少体积);
  • 勾选 “Optimize database tables” 会在备份前执行 OPTIMIZE TABLE。

第五步:Files 标签

默认备份整个 WordPress 目录。建议:

  • 排除缓存目录 wp-content/cache/、wp-content/wflogs/;
  • 排除其它备份插件目录;
  • 大站可排除 wp-content/uploads/(图片单独用 rsync 或对象存储同步)。

第六步:To(目的地)

免费版支持:

  • Folder(本地目录);
  • Email(小站点可行,注意附件大小限制);
  • FTP;
  • Dropbox、Amazon S3、Google Drive、Microsoft Azure(部分需 Pro)。

配置 S3 兼容存储时填 Endpoint、Key、Secret、Bucket,然后点”Test” 验证。

第七步:邮件通知

Job 设置里的 “Send email with log” 填写邮箱。建议勾选”仅在出错时发送”,避免每天收一封。

第八步:查看与下载备份

BackWPup → Backups 标签页列出所有归档,可直接下载或删除。Logs 标签页看每次执行的详细日志——排查备份失败就看这里。

第九步:手工恢复

BackWPup 的恢复功能在 Pro 版。免费版恢复靠手工:

# 1. 解压文件包
tar xzf backup.tar.gz -C /var/www/mimangfei.com

# 2. 导入数据库
gunzip < wordpress_db.sql.gz | wp db import -

# 3. 修正域名(如需要)
wp search-replace '旧域名' '新域名' --all-tables --precise --skip-columns=guid
wp rewrite flush

常见踩坑与失败案例

  1. 备份任务显示”未运行” —— WP-Cron 没被触发。改用外部 cron 访问 wp-cron.php,或确认 DISABLE_WP_CRON 没有设为 true。
  2. 案例:某站把备份存在本地 wp-content/uploads/backwpup-xxx/,结果备份又被下一次文件备份包含进去,体积指数级增长。备份目录必须加入排除列表,或放在 Web 目录之外。
  3. 归档文件过大导致超时 —— 拆分备份:数据库 Job 与文件 Job 分开,或只备份 wp-content。
  4. 邮件附件超限 —— 邮箱附件通常限 20~50MB,只适合极小站点。大站用 FTP/S3。
  5. 恢复后插件列表缺失 —— 这就是为什么要在 General 里勾选 “Installed plugins list”,恢复时照着清单装。
  6. 归档命名用中文路径 —— 部分存储服务对中文文件名支持不好,用 %Y%m%d 这类变量更安全。

总结

BackWPup 适合”想要一个完整归档、自动传到网盘”的运维习惯。配置要点是:按频率拆分 Job(数据库每日、文件每周)、务必排除备份目录自身、目的地配置后点测试、开启错误邮件通知。免费版没有一键恢复,需要手工解压 + 导库,所以一定要自己记录恢复步骤(本文第九步可直接抄进文档)。如果你更看重”按组件灵活恢复”,UpdraftPlus 更合适;如果你习惯整包归档,选 BackWPup。

U
UFO_PF作者

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

留下你的想法

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