如何高效备份和恢复 WordPress 网站(适用于无面板 VPS)

18
0
Share:
如何高效备份和恢复 wordpress 网站(适用于无面板 vps)

在构建好 WordPress 网站后,定期备份是非常重要的,以防止数据丢失或服务器故障。特别是在没有面板的情况下,我们需要手动操作。本文将介绍如何高效备份 WordPress 到本地电脑,并在 VPS 故障时快速恢复到新服务器。


一、手动备份 WordPress 网站

我们需要备份两个关键部分:

  1. WordPress 文件(主题、插件、上传内容等)
  2. 数据库(文章、用户、设置等)

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 下载到本地

使用 WinSCPFileZilla 下载文件,或者直接用 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.gzwordpress-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\

四、总结

手动备份

  1. 压缩 WordPress 目录 (tar -czvf wordpress-backup.tar.gz /var/www/html/)
  2. 导出数据库 (mysqldump -u root -p your_database_name > wordpress-db.sql)
  3. scpWinSCP 下载到本地

手动恢复

  1. 上传备份到新 VPS (scp wordpress-backup.tar.gz root@new-vps-ip:/root/)
  2. 解压 WordPress (tar -xzvf wordpress-backup.tar.gz -C /var/www/html/)
  3. 创建新数据库,并导入 (mysql -u root -p your_database_name < wordpress-db.sql)
  4. 修改 wp-config.php
  5. 重启 Web 服务器 (systemctl restart apache2)

自动备份

  • 使用 Cron Job 自动备份到本地或云端

这样,你就可以随时备份和恢复 WordPress,保障网站数据安全!

Tags维护
Share:

Leave a reply