本文约 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
常见踩坑与失败案例
- 备份任务显示”未运行” —— WP-Cron 没被触发。改用外部 cron 访问
wp-cron.php,或确认DISABLE_WP_CRON没有设为 true。 - 案例:某站把备份存在本地
wp-content/uploads/backwpup-xxx/,结果备份又被下一次文件备份包含进去,体积指数级增长。备份目录必须加入排除列表,或放在 Web 目录之外。 - 归档文件过大导致超时 —— 拆分备份:数据库 Job 与文件 Job 分开,或只备份 wp-content。
- 邮件附件超限 —— 邮箱附件通常限 20~50MB,只适合极小站点。大站用 FTP/S3。
- 恢复后插件列表缺失 —— 这就是为什么要在 General 里勾选 “Installed plugins list”,恢复时照着清单装。
- 归档命名用中文路径 —— 部分存储服务对中文文件名支持不好,用
%Y%m%d这类变量更安全。
总结
BackWPup 适合”想要一个完整归档、自动传到网盘”的运维习惯。配置要点是:按频率拆分 Job(数据库每日、文件每周)、务必排除备份目录自身、目的地配置后点测试、开启错误邮件通知。免费版没有一键恢复,需要手工解压 + 导库,所以一定要自己记录恢复步骤(本文第九步可直接抄进文档)。如果你更看重”按组件灵活恢复”,UpdraftPlus 更合适;如果你习惯整包归档,选 BackWPup。
