Total Pageviews

Saturday, 6 April 2013

使用SSH快速将网站搬家

 网站换空间相信大家都做过,最常见的流程就是将A服务器上的文件和数据库下载到本地,然后上传到B服务器,再将域名解析到B服务器IP。相信大多数童鞋都是这么做的,今天给大家介绍一个更方便的方法:用SSH直接将文件从A服务器上传到B服务器。前提是A和B服务器都开通了SSH。步骤如下:

一、登录A服务器后台备份所有文件;

二、用SSH登录到A服务器,我这里使用的是putty客户端软件,大家可以在网上下载;

三、使用Shell命令进入到备份文件的目录;

四、在putty中输入如下命令,红色部分为需要手动输入的:

    [wuleilei@dt backups]$ ftp/*启用FTP客户端
    ftp> open 74.82.161.100/*打开远程服务器IP
    Connected to 74.82.161.100.
    220 ProFTPD 1.3.1 Server ready.
    500 AUTH not understood
    500 AUTH not understood
    KERBEROS_V4 rejected as an authentication type
    Name (74.82.161.100:wuleilei): wuleilei/*输入用户名
    331 Password required for wuleilei
    Password:XX/*输入密码
    230 User wuleilei logged in
    Remote system type is UNIX.
    Using binary mode to transfer files.
    ftp> put back.tar.gz b.tar.gz/*上传文件
    local: back.tar.gz remote: b.tar.gz
    227 Entering Passive Mode (74,82,161,100,139,96).
    150 Opening BINARY mode data connection for b.tar.gz
    226 Transfer complete
    21211756 bytes sent in 90 seconds (2.3e+02 Kbytes/s)
    ftp>

上述中put back.tar.gz b.tar.gz这是关键,put是上传命令,第一个back.tar.gz是A服务器需要上传的文件名,第二b.tar.gz个是B服务器文件名,意思就是把A服务器的back.tar.gz上传到B服务器,并且命名为b.tar.gz,这样,SSH就可以自己上传了。

使用此方法有两个最大的好处:

1、速度快
对于网站文件太大的用户特别方便,如果有几百兆的文件,先下载到本地,再上传到服务器,估计要1个小时左右,但是使用此方法只有几分钟,大大节省了时间。我这里的20M文件,使用此方法从国内服务器上传到国外服务器,用了90秒,比从本地上传快多了。当然,这个速度主要是由服务器的网速决定的。

2、安全
因为SSH是加密传输的,不会发生数据包劫持,因此上传文件时你可以安心的在一边喝茶,等待它自动上传完成吧。

当然,数据库文件也可以使用此方法上传到服务器,然后使用命令导入到数据库.