WordPress博客的备份和迁移

网站备份的重要性就不需要博主多说了。在Linux系统下,对WordPress进行备份其实并不难。主要涉及两部分:文件备份和数据库备份

文件备份

以下命令中涉及的数据库和域名,请根据你VPS上具体设置,自行修改。

为了方便管理,我们先建立一个文件夹专门存放备份数据,比如 /home/backup/

# mkdir /home/backup

然后,压缩整站并移动到 /home/backup/ 文件夹下(为方便管理,添加了备份日期):

# cd /home/wwwroot
# tar -zcf seoimo.com-2017-10-01.tar.gz seoimo.com
# mv seoimo.com-2017-10-01.tar.gz /home/backup/

好了,整站已经打包备份完成。接下来,开始备份数据库。

数据库备份

首先,打开 /home/backup/ 文件夹,我们需要将数据库备份在这里:

# cd /home/backup
# lnmp database list

输入 root 数据库密码(在#6搭建LAMP环境设置的),即可查看当前数据库列表。

选择需要备份网站的对应数据库,以 sjk_seoimo 为例:

mysqldump -u root -p sjk_seoimo > sjk_seoimo-2017-10-01.sql

再次输入数据库密码,即可完成数据库备份。

可键入命令 # ls 查看当前目录下已经存在了备份好的文件。

此时,可以用通过 FTP 下载到本地保存,也可上传到别的 VPS 上备份保存。

WordPress迁移

某些情况下,我们可能需要进行网站迁移,从一个VPS搬家到另一个VPS上。如果是没有开通 SSH 功能的虚拟主机,搬家起来可能会比较麻烦,来来回回的下载和上传。但是,在VPS上操作则相对简单的多。

假设新VPS的IP为 8.8.8.8,则打开备份目录,选择需要的文件备份和数据库备份上传:

# cd /home/wwwroot
# ls
# scp -P 22 -r seoimo.com-2017-10-01.tar.gz sjk_seoimo-2017-10-01.sql root@8.8.8.8:/home/backup

回车后,按要求输入新的VPS登陆密码。

注意新VPS的端口,如果不是22,需自行修改。

接下来,SSH登入新的VPS。然后解压或替换网站域名目录:

# cp /home/backup/seoimo.com-2017-10-01.tar.gz /home/wwwroot
# cd /home/wwwroot
# tar -zxf seoimo.com-2017-10-01.tar.gz
# rm -rf seoimo.com-2017-10-01.tar.gz

搬家后解压的文件可能存在权限的问题,建议赋予根目录文件的可写权限。

# chmod -R 755 /home/wwwroot
# chown -R www /home/wwwroot

之后,导入数据库,仍以 sjk_seoimo 为例:

# cd /home/backup
# ls
# mysql -u root -p sjk_seoimo < sjk_seoimo-2017-10-01.sql

倘若虚拟主机转虚拟主机,或者虚拟主机转VPS,数据库密码和某些插件文件路径可能不同,这就需要额外去查找更改了。

但如果都是在VPS上通过LNMP搭建WordPress,通常则无需再做额外操作。

注意:数据库的导出用的符号是 “>”,导入用的是 “<“。注意方向,千万别不要搞错了。

备份小技能

上文提到过,备份后的文件可以 FTP 下载到本地保存,也可以 SCP 上传到其他VPS上保存。

那么,哪个方法更好呢?

看个人喜好了。不过博主倾向于后者,即 scp 到其他VPS上备份保存。因为一旦你的网站出现问题,重新开VPS和从本地上传的话,一般只有几十到几百KB/s的上传速度,比较慢。而VPS之间的 scp 传速则快得多,通常几十MB/s的速度,简直天壤之别。

那是不是意味着需要额外单独买个VPS作为备份?

条件允许当然更好。但是,也不一定需要。因为Vultr自带免费的 “Snapshots” 功能。

虽然搬瓦工(和Vultr)很不错,但鸡蛋都放在一个篮子里总是不够安全的。博主的做法是:

在Vultr上另开一个机子(比如最便宜的月付$2.5),然后按本文教程搭建好本站一毛一样的站点。然后 “Snapshots”,之后把新开的VPS销毁。这样一来,即使不再新开VPS,后台依然保留备份的 “Snapshots” 。

博主需要做的就是定期花几毛钱重开VPS(每月1-2次),恢复(Restoring),然后把备份上传过来,再重新 “Snapshots” 后销毁。

这样,一旦由于某些原因本站甚至搬瓦工出了问题,博客也可以在Vultr上很快恢复访问。

Snapshots-Restoring的具体步骤:

登录Vultr > 左侧Servers > 选中VPS > 上面Snapshot > 右下Restore-Snapshot

恢复VPS快照