一般玩 WordPress 的要清楚一些概念

WordPress 包含

1.是官网下载过来的压缩包解压缩出来的一堆 PHP 文件

2.是用户上传的文件一般在 wp-content/upload/ 里

3.是插件、主题在 wp-content/themes/ wp-content/plugins/ 目录里

4.是用户产生的文字啊配置啊在 MYSQL 数据库里

MYSQL 数据库和 FTP 上去所看到的一堆文件(程序,上传的文件,主题,插件等)是分开的

而 WordPress 通过 wp-config.php 来连接 PHP 和 MYSQL 实现你产生的数据保存到数据库,以及从数据库里取出文章留言什么的给你看

所以我们备份的时候需要备份2个部分

1. 硬盘里自己目录下的所有文件 (程序,上传的文件,主题,插件等)

2. 数据库

一般备份的步骤如下

1.导出数据库到自己的目录下(这样他们就融为一体了)

2.打包整个目录(包含导出的数据库以及其他所有文件)

3.登录新的服务器,并获取压缩包,然后解压缩

4.把解压缩出来的数据库文件导入新服务器的 MYSQL 数据库里

5.修改wp-config.php 把数据库链接信息修改为新的服务器上的数据库信息

那么我们就开始吧

今天的例子是 Plesk 到 CPanel ,当然你也可以举一反三俗 P2C C2C P2C C2C 什么的
(一般P2P或C2C都有他们自己搬家工具,不用这么折腾,除非耍帅)

关于 MYSQL 数据库

1.数据库名 例子:bigcat_db

2.数据库用户名 例子:bigcat

3.数据库密码 例子:12345

具备这仨就可以搞定数据库了

关于 Plesk

用户home目录,简单说 FTP 登录上去看到的那一堆里有个叫 httpdocs 的,就是对应网站,例子:ooxx.me 的根目录
httpdocs/av.png 文件对应的URL就是 http://ooxx.me/av.png

关于 CPanel

用户home目录,简单说 FTP 登录上去看到的那一堆里有个叫 public_html 的,就是对应网站,例子:ooxx.me 的根目录
public_html/av.png 文件对应的URL就是 http://ooxx.me/av.png

综上所忽悠,我们需要做的是

1.导出数据库在 httpdocs 目录里 打包整个目录

2.把压缩包整到public_html目录里解压缩导入数据库

下面是每一步的截图(可能没有图)

登录老服务器

用终端(MAC/Linux

ssh bigcat@ooxx.me
注意:linux 输密码不显示星号避免暴露位数,请自重,打完回车即可

客户端 SecureCRT (windows)

SSH服务器地址ooxx.me

端口:22

用户名bigcat

登录成功会提示
bash-3.2$
确认下我在哪里就输入
pwd
会提示
/var/www/vhosts/ooxx.me
要看看当前目录有什么文件就输入
ls -la
会在一堆列表里看到有httpdocs
那么我们就进入这个目录,输入
cd httpdocs
再 pwd 一下,提示
/var/www/vhosts/ooxx.me/httpdocs
果然已经进入了
继续
ls -la
可以看到出来的一堆,就是FTP里上传的所有文件了

OK,这会儿要导出数据库
输入
mysqldump -u bigcat -p bigcat_db > ooxx.sql
回车输入数据库密码
如没啥提示就是导出成功了
ls -la
一下应该能看到多出来的 ooxx.sql 文件,即我们导出的数据库

接下去我们要打包
输入
tar -czf ooxx.tar.gz * .[!.]*
如果你没有.开头的文件例如 .htaccess
可能会提示
tar: .[!]*: Cannot stat: No such file or directory
不用管就是
这会儿
ls -la
一下应该可以找到 ooxx.tar.gz 这个压缩包了

老服务器就到此为止了
接下去登录新服务器
新建一个ssh链接
用新服务器的SSH帐号登录
登录后
cd public_html
切换目录从用户home目录到网站根目录
获取老服务器的文件
wget http://ooxx.me/ooxx.tar.gz
会有个拉轰的文本进度条,速度一般都是MB/s
解压缩
tar -xzf ooxx.tar.gz
导入数据库
mysql -u bigcat -p bigcat_db < ooxx.sql
注意:是新服务器的数据库信息,没有的话去 CPanel 里新建一个
没啥提示就是成功了
再注意:如果新老数据库信息不一致,需要更新 wp-config.php

尾声
安全问题,请删除导出的数据库文件 ooxx.sql 和 ooxx.tar.gz
删除是 rm 文件名
例如
rm ooxx*
因为 wp-config.php 里的密码是明文的
提醒:这种明文密码建议千万别和自己其他密码一样

一般这会儿就可以去域名商网站更改 A Record 为新服务器的 IP,等生效后即可
不一般的同学会先配 HOST 看看,确保没问题了再改域名IP
那 HOST 是个什么东西我就下次写了

有啥看不懂的请留言,我更新
搬家 DIY 的好处是一来速度快,二来命令行耍帅

文中涉及一些命令可以参考 SSH 入门教程(常用命令)