一般玩 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://bigc.at/av.png
关于 CPanel
用户home目录,简单说 FTP 登录上去看到的那一堆里有个叫 public_html 的,就是对应网站,例子:ooxx.me 的根目录
public_html/av.png 文件对应的URL就是 http://bigc.at/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://bigc.at/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 入门教程(常用命令)
31 评论
添加您的 →😆 还不错滴
我滴沙发… 🙁
很意淫
看了一半~~我就 🙄
[…] This post was mentioned on Twitter by Alan Han and ddd, BrutalOOXX. BrutalOOXX said: 留着以后用得到。。。:如何用 SSH 搬家 (plesk cpanel 互搞) http://fl5.me/6kvk0c […]
好像在哪见过,好像被人转走了.我就不转了.
学习了。
这方法很方便哈。看大猫在用IntelliJ IDEA最近我也喜欢上了哈。有机会给搞个入门教程呀什么的哈。
@keelii, 哈,好滴
@keelii,
美空支持你。
看到后面就越来越晕了! 🙁
好好好。命令行就是好。
终于出来了 等得我脸上痘痘都萎缩了 😯
@葉子, 😉 妹子,要淡定
好东西
[…] 脑子里盘算如何才能省去如此多的麻烦,想到了不会用的SSH,就搜索到了过去常去的大猫意淫网的SSH搬家篇,很实用,一步一步过去就OK了。讲下要避免的情况,.htaccess文件最好备份到本地后删除主机上的,两台主机用相同的该文件可能会出现问题。 […]
[…] rm 文件名 如:rm wheat*延伸阅读…… 如何用 SSH 搬家 (plesk cpanel 互搞) http://bigc.at/transfer-with-ssh.orz SSH 入门教程(常用命令) http://bigc.at/common-ssh-commands.orz 使用 SSH 安装和迁移 […]
我是看到图片进来的。。这个车厢内提示非常人性化哦!!
SSH搬家,看样子是方便啊,只可惜没机会体验个一把,当然最好也不要体验,呵呵,长期驻扎下去。上次的搬家真是多谢大猫了。
很长,但是很有用,ssh搬家没试过
话说,不给偶用SSH。。。。
牛B的域名
搜索的时候到第二页第三页都无效,大猫测试下。
@囧啊囧, 哈,已知问题,找时间修复下,淡定
不需要密码验证之类的,这么轻易就可以用wget下载到主机上的文档?那wp-config.php之类的文件不是毫无安全性可言了?
@Yarkee, 浏览器看到啥,wget也能get到啥,php这种后台语言的源码不会直接暴露的,都是运行结果
啊,我立即在自己的主机上试了试,原来像wp-config.php这样的配置文件是无法被wget的,幸好幸好。
FTP打包下载再上传的苦逼撸过,学习了~~~ 😉
😆 ,很不错,但是有没有从没有SSH的服务器把网站快速搬迁到有SSH的服务器去呢?
@Mr.Cong, 有的, wget有个参数是ftp形式的,不过容易丢东西
继续收割