准备工作
在恢复备份之前,先将网站的备份到下载到本地备用。比如,网站数据备份在Cloudflare R2,找到需要恢复的备份文件,下载到本地备用。

具体步骤
1、添加站点
登陆CloudPanel后台,ADD SITE,添加站点

Create a WordPress Site,创建WordPress站点

填写网站信息

将生成的网站信息保存好。

2、上传备份
通过CloudPanel控制面板上传备份
通过CloudPanel控制面板上传备份,理论上如果压缩包小于2GB都是允许上传的。但是实践中,这种方法上传失败率仍然很高,即使文件包只有几百兆。所以,我本人更推荐通过SFTP客户端上传文件的方法。
选择需要恢复备份的网站

将网站备份上传到tmp文件夹

通过SFTP客户端上传备份(推荐)
下面以FileZilla客户端为例
- Host:sftp://IP,IP为服务器IP地址
- Username:此处填写创建WordPress站点时分配的Site User
- Password:此处填写创建WordPress站点时分配的Password
- Port:此处填写端口号22
输入以上信息,点击Quickconnect,成功连接服务器后,将文件包上传至tmp文件夹。
3、恢复备份
将网站备份文件解压缩

将htdocs中的网站文件夹删除

将网站备份中htdocs下的网站文件剪贴。

然后粘贴到主htdocs文件夹中。

4、恢复数据库
接下来开始恢复数据库文件。
使用PhpMyAdmin软件恢复数据库(不推荐)
使用PhpMyAdmin导入数据库,十分简单,但是存在诸多限制。比如如果数据库文件比较大,经常会出问题,所以通常更推荐使用命令行来操作。
进入网站后台数据库栏,点击Manage管理,进入数据库后台。

选择网站,将所有的table表删除。

点击上方栏的import导入数据库文件。选择数据库文件(数据库文件也在网站的备份中,以“.sql.gz”结尾),开始数据库备份导入。

出现类似图中的提示,代表数据库导入成功。

使用命令行恢复数据库(推荐)
将数据库文件(文件后缀:.sql.gz),上传至tmp文件夹。
通过SSH工具连接服务器,输入以下命令行。
clpctl db:import --databaseName=my-database --file=dump.sql.gz
实例:
clpctl db:import --databaseName=fahaiseo-cn --file=/home/fahaiseo-cn/tmp/fahaiseo-cn_123456789.sql_copy.gz
将my-database替换为数据库名称
将dump替换为数据库文件路径
5、更新数据库密码
接下来需要将备份数据库密码更改为后来创建网站分配的新数据库密码。在File Manager文件管理里,找到wp-config.php。

找到Database password,将数据库密码更新为后来创建网站分配的新数据库密码。

至此,网站备份就恢复成功了。
总结
恢复WordPress网站备份有很多方法,最简单的方法是使用备份插件。使用管理面板比如本文提到的CloudPanel恢复网站,相比插件方案还是要复杂很多,出错概率很大。通常,对于大多数人,我并不推荐这种方式。