scribble

守望的麦子

About Projects Tool Guestbook

04 Oct 2010
SSH快速搬家

一般我们安装或者迁移 WordPress 博客,我们都需要把 WordPress 安装包或者资料下载到本地,然后上传到新的服务器,再进行安装或者迁移,这样不仅耗时费力,如果主机在国外的话,传送几百兆数据将会是一场噩梦。其实如果你的主机支持 SSH 的话,这一切都会变得很简单并且可以迅速完成。(via Fairyfish

1. SSH登陆旧主机,登录成功会提示:  

bash-3.2$ 

要想查看当前目录完成路径,就输入: 

pwd 

然后会提示如: 

/var/www/vhosts/wheatnotes 

要看看当前目录有什么文件就输入: 

ls

 

2. 进入网站文件目录(如html目录),输入: 

cd html 

 

3. 导出数据库,命令格式为: 

mysqldump -user=[数据库用户名] -p [数据库名] > [备份文件名].sql 

例如: 

mysqldump -u wheat -p wheat_db > wheat.sql 

输入上面的命令之后,它会提示你输入数据库密码。 

ls 

一下应该能看到多出来的 wheat.sql 文件,即我们导出的数据库。

 

4. 打包并压缩所有文件 

tar -czvf wheat.tar.gz * 

不要关闭SSH,等到滚屏完毕后 

ls   

应该就可以看到 wheat.tar.gz 这个压缩包了 

 

20101012 update: 使用tar进行排除一个目录的备份 

例如打包&压缩html这个目录,html/FTP/是不想打包&压缩的目录: 

tar czvf wheat.tar.gz html --exclude html/FTP

若需要排除多个目录则连续输入 --exclude 1 --exclude 2 --exclude 3 即可。

 

或者直接进入html目录: 

tar -czvf wheat.tar.gz --exclude=FTP --exclude=wheat.tar.gz ./ 

其中./即为要打包压缩的目录。--exclude=wheat.tar.gz 为了排除备份过程中建立的 wheat.tar.gz 空文件。该方法参考 man tar (via) : 

 -exclude FILE     exclude file FILE 

SYNOPSIS
tar [ - ] A --catenate --concatenate | c --create | d --diff --compare | --delete | r --append | t --list | u --update | x --extract --get [ options ] pathname [pathname ... ]

--exclude=PATTERN
exclude files matching PATTERN

 

5. 旧主机的操作到此为止,接下来SSH登陆新主机,进入网站目录(html),获取旧主机的打包文件

wget http://www.wheatnotes.com/wheat.tar.gz

  

6. 解开压缩包

tar -xzvf wheat.tar.gz

 

7. 再次使用 MySQLDump 导入数据库

mysqldump -user=[数据库用户名] -p [数据库名] < [备份文件名].sql

 

:如果新老数据库信息不一致,需要更新 wp-config.php

安全问题:删除导出的数据库文件 wheat.sql 和 wheat.tar.gz

删除命令 rm 文件名

如:rm wheat*

 

延伸阅读……
SSH 是什么?http://zh.wikipedia.org/zh-cn/SSH
如何用 SSH 搬家 (plesk cpanel 互搞) http://ooxx.me/transfer-with-ssh.orz
SSH 入门教程(常用命令) http://ooxx.me/common-ssh-commands.orz
使用 SSH 安装和迁移 WordPress 博客 http://fairyfish.net/2009/11/20/ssh-wordpress/
博客如何快速搬家?http://liucheng.name/1034/
Google 搜索 SSH 命令详解

Til next time,
Jason at 00:00

scribble

About Projects Tool Guestbook