网站数据丢失的代价是灾难性的。黑客攻击、服务器故障、误操作都可能在瞬间摧毁你多年的心血。本文详细介绍 WordPress 网站备份与恢复的完整方案。
一、为什么要备份?
以下情况都可能导致网站数据丢失:
- 服务器故障:硬盘损坏、机房断电、母机宕机
- 黑客攻击:数据库被删、文件被篡改、勒索病毒
- 人为误操作:误删文件、更新失败、配置错误
- 商家跑路:VPS商家倒闭,数据无法找回
黄金法则:网站文件和数据库必须分开备份,且保留多个时间点的备份。
二、备份什么内容?
一个完整的 WordPress 备份包含:
| 类型 | 内容 | 大小 |
|---|---|---|
| 网站文件 | wp-content(主题/插件/上传文件) | 几百MB~几GB |
| 数据库 | wp_posts、wp_options等表 | 几MB~几十MB |
| 配置文件 | wp-config.php、.htaccess | 小于1MB |
三、方法一:宝塔面板一键备份
使用宝塔面板建站的站长,最推荐使用内置的备份功能。
3.1 手动备份
- 宝塔面板 → 网站 → 找到你的站点 → 备份
- 选择「备份网站」或「备份数据库」
- 点击「备份」按钮
- 备份完成后可在列表中下载或恢复
3.2 自动备份计划
- 宝塔面板 → 计划任务
- 添加任务:任务类型选择「备份网站」
- 执行周期:每天凌晨3点
- 保留份数:建议 7–14 份
- 备份到:本地 + 远程存储(推荐阿里云OSS或又拍云)
3.3 远程存储配置
宝塔支持备份到:
- 阿里云 OSS
- 腾讯云 COS
- 又拍云
- 七牛云
- FTP 远程服务器
配置方法:软件商店 → 宝塔配置 → 存储设置 → 添加存储。
四、方法二:UpdraftPlus 插件备份
UpdraftPlus 是 WordPress 最流行的备份插件,支持自动备份到云端。
4.1 安装与配置
- 插件 → 安装插件 → 搜索「UpdraftPlus」
- 安装并启用
- 进入「设置」→「UpdraftPlus 备份」
4.2 远程存储设置
UpdraftPlus 支持:
| 云存储 | 免费额度 | 推荐度 |
|---|---|---|
| Google Drive | 15GB | 五星推荐 |
| Dropbox | 2GB | 四星推荐 |
| Amazon S3 | 需付费 | 三星推荐 |
| FTP/SFTP | 不限 | 四星推荐 |
推荐配置:Google Drive 免费 15GB + 每周自动备份
4.3 自动备份计划
- UpdraftPlus 设置 → 「计划」选项卡
- 文件备份:每周
- 数据库备份:每天
- 保留备份:5–10 份
五、方法三:All-in-One WP Migration
适合需要迁移网站的用户,可以导出完整的备份包并导入到新站点。
5.1 导出备份
- 插件 → 安装「All-in-One WP Migration」
- 进入「All-in-One WP Migration」→「导出」
- 选择「文件」导出完整备份
- 下载 .wpress 备份文件
5.2 恢复备份
- 新站点安装 WordPress 和 All-in-One WP Migration
- 进入「导入」→ 上传 .wpress 文件
- 等待导入完成
- 更新固定链接和站点 URL
注意:免费版有 512MB 导入限制,大站点需购买付费版。
六、方法四:手动备份(命令行)
适合技术型站长,完全掌控备份过程。
6.1 备份数据库
mysqldump -u 用户名 -p 数据库名 > backup_date.sql
6.2 备份网站文件
tar -czvf website_date.tar.gz /www/wwwroot/你的站点目录
6.3 下载到本地
# 使用 scp 下载到本地
scp root@服务器IP:/root/backup.sql .
scp root@服务器IP:/root/website.tar.gz .
七、方法五:定时自动备份脚本
#!/bin/bash
# WordPress 自动备份脚本
DATE=$(date +%Y%m%d)
BACKUP_DIR="/backup"
DB_USER="数据库用户名"
DB_PASS="数据库密码"
DB_NAME="数据库名"
SITE_DIR="/www/wwwroot/你的站点"
# 创建备份目录
mkdir -p BACKUP_DIR
# 备份数据库
mysqldump -uDB_USER -pDB_PASS DB_NAME | gzip > BACKUP_DIR/db_DATE.sql.gz
# 备份网站文件
tar -czf BACKUP_DIR/site_DATE.tar.gz SITE_DIR
# 删除7天前的备份
find BACKUP_DIR -type f -mtime +7 -delete
配合 crontab 定时执行:
0 3 * * * /root/backup.sh
八、灾难恢复流程
场景一:文件丢失,数据库正常
- 重新上传网站备份文件
- 检查 wp-config.php 配置是否正确
- 刷新固定链接:设置 → 固定链接 → 保存更改
场景二:数据库损坏,文件正常
- 创建新数据库和用户
- 导入数据库备份文件
- 修改 wp-config.php 中的数据库信息
- 刷新固定链接
场景三:完全重装
- 重新安装 WordPress
- 导入数据库备份
- 上传 wp-content 文件夹
- 修改 wp-config.php
- 更新站点 URL(如域名变更)
- 刷新固定链接
九、备份最佳实践
- 至少保留 3 个时间点的备份
- 备份存储在异地(云存储或本地)
- 定期测试恢复流程(至少每季度一次)
- 重要操作前手动备份(更新/迁移/改配置)
- 备份文件命名包含日期
总结
备份方案推荐:
- 新手:宝塔面板自动备份 + UpdraftPlus 云端备份
- 技术型:定时脚本备份 + rclone 上传云存储
- 大站点:付费备份服务 + 本地异地双备份
有问题欢迎评论区留言。
声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。

评论(0)