本文介绍使用UpdraftPlus和wp-cli实现WordPress自动备份,保障网站数据安全。

备份策略

备份类型 频率 保留份数
完整备份 每周 4份
文件备份 每天 7份
数据库 每天 14份
云端同步 实时 无限制

UpdraftPlus插件

安装配置

  1. WordPress后台 → 插件 → 安装UpdraftPlus
  2. 设置 → UpdraftPlus备份

备份设置

时间表:
- 文件: 每天
- 数据库: 每天

保留份数:
- 本地: 7份
- 远程: 根据服务商

远程存储:
- FTP服务器
- Google Drive
- Amazon S3
- Dropbox

手动备份

设置 → 立即备份 →
  ☑ 包含数据库
  ☑ 包含文件
  → 备份

wp-cli备份命令

wp updraftplus list

wp updraftplus backup

wp updraftplus restore backup_id

wp updraftplus upload

wp-cli备份

安装wp-cli

curl -O https://raw.githubusercontent.com/wp-cli/builds/gh-pages/phar/wp-cli.phar
chmod +x wp-cli.phar
sudo mv wp-cli.phar /usr/local/bin/wp

备份命令

wp db export backup.sql

wp export

tar -czf wp-content-backup.tar.gz /var/www/html/wp-content/

自动化备份脚本

#!/bin/bash

DATE=$(date +%Y%m%d_%H%M)
WP_DIR="/var/www/html"
BACKUP_DIR="/backup/wordpress"

wp db export $BACKUP_DIR/db_$DATE.sql --path=$WP_DIR

tar -czf $BACKUP_DIR/files_$DATE.tar.gz $WP_DIR/wp-content/

find $BACKUP_DIR -mtime +30 -delete

aws s3 sync $BACKUP_DIR s3://my-bucket/wordpress/

All-in-One WP Migration

优点

  • 导出文件小(自动压缩)
  • 支持云端存储
  • 迁移简单

备份步骤

  1. 插件 → 导出 → 导出文件
  2. 选择位置
  3. 下载备份文件

排除内容(减少体积)

wp-config.php 中:

define('AI1WM_EXCLUDE_PHP_ERROR_LOG', true);
define('AI1WM_EXCLUDE_THEMES', 'twentytwentyone');

备份文件大小限制

修改 php.ini

upload_max_filesize = 512M
post_max_size = 512M
max_execution_time = 300

Cron定时备份

crontab -e

0 3 * * * /usr/local/bin/backup.sh

0 * * * * wp db export /backup/incremental_$(date +\%Y\%m\%d\%H).sql --path=/var/www/html

恢复流程

UpdraftPlus恢复

  1. 设置 → UpdraftPlus备份
  2. 选择备份 → 恢复
  3. 选择要恢复的内容 → 恢复

手动恢复

wp db import backup.sql

tar -xzf wp-content-backup.tar.gz -C /var/www/html/

chown -R www-data:www-data /var/www/html/wp-content

备份检查清单

  • [ ] 备份计划已设置
  • [ ] 远程存储已配置
  • [ ] 恢复测试已完成
  • [ ] 通知机制已设置
  • [ ] 备份保留策略已配置
声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。