通常来说,转移一个网站的步骤是这样:
1,关闭网站,防止转移期间数据出现变化
2,转移数据到新主机
3,开通网站
但是如果网站数据量非常大,在第二步中是非常耗时的,网站长时间关闭会造成很多不利的影响。
所以在这里为大家介绍一种更高效的方式:rsync。
rsync可以增量的传输新增加的文件,也可以更新两台主机不同内容的文件(只传输差异部分)。
具体的操作方式是这样,先确定好转移网站的时间,先在前一天,执行一次rsync,将数据全部传输至新服务器,这期间是不需要关闭网站的。在正式转移网站的时候,再执行一次rsync,这一次需要关闭网站,由于这次只传输新增加的和有变化的文件,所以传输的数据量会非常少,所以关闭网站的时间也会少很多。
举个例子,10G数据量的网站,这种方式可能会把转移期间中断的时间从几个小时降低到十几分钟。数据量越大,差别越明显。
使用rsync需要在两台主机都安装对应的软件包:
Debian/Ubuntu: apt-get install -y rsync
CentOS: yum install -y rsync
传输命令在新主机和旧主机上执行都可以,但是命令格式是不一样的,假设在新主机执行,命令为:
rsync -avz -e ssh root@ip.ip.ip.ip:/source/path/ /dest/path/
1)ip.ip.ip.ip为原主机IP
2)/source/path/为需要转移的数据在原主机上的路径
3)/dest/path/为要保存在新主机上的路径
这里介绍的参数是通过SSH服务来传输数据,如果原主机的SSH端口不是默认的22,需要指定SSH端口,假如端口为60000,那么命令为:
rsync -avz -e ‘ssh -p 60000′ root@ip.ip.ip.ip:/source/path/ /dest/path/
PS:执行长时间操作的命令,最好在screen窗口里运行