04 Oct 2010SSH快速搬家
一般我们安装或者迁移 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