如何高效备份和恢复 WordPress 网站(适用于无面板 VPS)
-750x375.webp)
在构建好 WordPress 网站后,定期备份是非常重要的,以防止数据丢失或服务器故障。特别是在没有面板的情况下,我们需要手动操作。本文将介绍如何高效备份 WordPress 到本地电脑,并在 VPS 故障时快速恢复到新服务器。
一、手动备份 WordPress 网站
我们需要备份两个关键部分:
- WordPress 文件(主题、插件、上传内容等)
- 数据库(文章、用户、设置等)
1. 备份 WordPress 文件
1.1 连接 VPS
使用 SSH 连接到服务器:
ssh root@your-vps-ip
如果是本地 VPS,可以直接在终端执行命令。
1.2 压缩 WordPress 目录
假设 WordPress 安装在 /var/www/html/
,执行:
tar -czvf wordpress-backup.tar.gz /var/www/html/
这会生成 wordpress-backup.tar.gz
,包含所有 WordPress 相关文件。
1.3 下载到本地
使用 WinSCP 或 FileZilla 下载文件,或者直接用 SCP:
scp root@your-vps-ip:/root/wordpress-backup.tar.gz C:\Users\YourName\Desktop\
Mac/Linux 用户:
scp root@your-vps-ip:/root/wordpress-backup.tar.gz ~/Downloads/
2. 备份 WordPress 数据库
2.1 导出数据库
首先,查找 WordPress 数据库名:
cat /var/www/html/wp-config.php | grep DB_NAME
然后,使用 mysqldump
备份数据库:
mysqldump -u root -p your_database_name > wordpress-db.sql
2.2 下载到本地
和文件一样,也可以使用 SCP 传输:
scp root@your-vps-ip:/root/wordpress-db.sql C:\Users\YourName\Desktop\
二、恢复 WordPress 网站
如果 VPS 故障或更换服务器,我们需要在新服务器上快速恢复。
1. 上传备份文件
将 wordpress-backup.tar.gz
和 wordpress-db.sql
上传到新 VPS:
scp C:\Users\YourName\Desktop\wordpress-backup.tar.gz root@new-vps-ip:/root/
scp C:\Users\YourName\Desktop\wordpress-db.sql root@new-vps-ip:/root/
2. 解压 WordPress 文件
连接新 VPS:
ssh root@new-vps-ip
解压文件:
tar -xzvf wordpress-backup.tar.gz -C /var/www/html/
设置正确的权限:
chown -R www-data:www-data /var/www/html/
chmod -R 755 /var/www/html/
3. 导入数据库
3.1 创建新数据库
mysql -u root -p -e "CREATE DATABASE your_database_name;"
3.2 导入备份
mysql -u root -p your_database_name < wordpress-db.sql
4. 修改 wp-config.php
如果数据库名称或密码有变,记得修改 /var/www/html/wp-config.php
:
define('DB_NAME', 'your_database_name');
define('DB_USER', 'your_db_user');
define('DB_PASSWORD', 'your_db_password');
define('DB_HOST', 'localhost');
5. 重新启动 Web 服务器
systemctl restart apache2 # 如果用 Apache
systemctl restart nginx # 如果用 Nginx
三、自动备份(推荐)
如果你不想每次手动备份,可以用 Cron Job 定时自动备份。
1. 设置定时任务
crontab -e
添加:
0 2 * * * tar -czvf /root/wordpress-$(date +\%F).tar.gz /var/www/html/
0 2 * * * mysqldump -u root -p'yourpassword' your_database_name > /root/wordpress-db-$(date +\%F).sql
这会在每天凌晨 2 点自动备份 WordPress 文件和数据库。
2. 传输到本地或云端
可以用 scp
命令定期下载到本地:
scp root@your-vps-ip:/root/wordpress-$(date +\%F).tar.gz C:\Users\YourName\Desktop\
scp root@your-vps-ip:/root/wordpress-db-$(date +\%F).sql C:\Users\YourName\Desktop\
四、总结
手动备份
- 压缩 WordPress 目录 (
tar -czvf wordpress-backup.tar.gz /var/www/html/
) - 导出数据库 (
mysqldump -u root -p your_database_name > wordpress-db.sql
) - 用
scp
或WinSCP
下载到本地
手动恢复
- 上传备份到新 VPS (
scp wordpress-backup.tar.gz root@new-vps-ip:/root/
) - 解压 WordPress (
tar -xzvf wordpress-backup.tar.gz -C /var/www/html/
) - 创建新数据库,并导入 (
mysql -u root -p your_database_name < wordpress-db.sql
) - 修改
wp-config.php
- 重启 Web 服务器 (
systemctl restart apache2
)
自动备份
- 使用 Cron Job 自动备份到本地或云端
这样,你就可以随时备份和恢复 WordPress,保障网站数据安全!