通常來說,轉移一個網站的步驟是這樣:
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 [email protected]:/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′ [email protected]:/source/path/ /dest/path/
PS:執行長時間操作的命令,最好在screen窗口裡運行。