WordPress 6.1.1 更新发布,没想到这却是困扰我十几个小时的开始。
正好需要重装 VPS 系统,于是昨晚干脆升级成 php8,不是说 php7 官方已经放弃维护了么,但是没想到老版本的数据和文件是不能直接用在新的php版本的。
升级完之后就进不去前台,后台也报错。
各种方案都试过了,还是解决不了报错的问题,只能把问题指向 php 8 了。于是马上转移到另一台 VPS 环境里去(php 7),问题立马得到解决。
因此升级之前备份是十分重要的啊!!
现在说说我的备份步骤吧。
VPS 登录后台,先创建一个文件夹用于存放备份,例如
mkdir weballbak
这条命令会在家目录下创建一个名为weballbak的文件夹。
然后进入到网站文件的存放目录,例如:
cd /home/wwwroot/
然后打包网站目录:
tar zcvf webbak.tgz wordpress
这条命令会在当前目录下生成一个打包压缩了的名为 webbak.tgz 的文件,里面的内容就是 wordpress 的内容。
移动这个文件到 weballbak 目录:
mv webbak.tgz ~/weballbak
这条命令会把这个压缩包移动到家目录的 weballbak 文件夹中去。
现在返回到 weballbak :
cd ~/weballbak
备份 nginx 配置文件:
cp /usr/local/nginx/conf/vhost/DOMIAN.com.conf .
备份数据库:
mysqldump -uroot -p $DATA > ./data.sql
执行后会要求输入 root 用户的密码,输入正确后会在当前目录下出现备份的数据库文件(data.sql),$DATA 文件名你需要根据自己的情况进行修改,也就是你的 wordpress 所使用的数据库表名。
现在查看当前目录下的文件:
ls -lh .
确认有三个文件,分别是 nginx 配置文件 DOMIAN.com.conf 、数据库文件 data.sql 、以及网站的文件 webbak.tgz 。
显示大概是这个样子,你的不一定完全跟我的一样:
total 420K
-rw-r--r-- 1 www www 17K Nov 14 23:42 data.sql
-rw-r--r-- 1 www www 19 Nov 14 23:42 DOMIAN.com.conf
-rwxr-xr-x 13 www www 4.0K Dec 11 10:44 webbak.tgz
回到上一级目录,再次打包:
cd ..
tar zcvf weballbak.tgz weballbak
这样你的网站就备份好了。现在想办法把这个 weballbak.tgz 文件下载到本地或者转移到别的 VPS 去就好了。
然后你再放心升级或者重装,就算升级的过程中出现了问题,只要你手中握着原始备份,你也可以随时恢复到之前的正常状态。比如把 php 从 7 升级到 8 之后出了问题,你也可以重新安装 php 7 ,再将备份恢复。或者是 WordPress 的版本跨度太大出了问题,你也可以删掉新的网站文件,将旧的文件备份恢复回去。
总而言之,有备份,就不怕。