rsync中文手冊之使用rsync實現網站鏡像和備份linux第1/3頁
2019-11-02 16:39:02
供稿:網友
簡介
對于選擇Linux 作為應用平臺的的中小型企業或網站來說,往往面臨如何實現數據遠程備份或者網站鏡象的問題,雖然有商業化的備份和鏡象產品可供選擇,但這些產品的價格往往過于昂貴。因此如何利用自由軟件高效實現遠程備份和網站鏡象就成為一個值得討論的話題。
通過網絡進行遠程數據備份或者網站鏡象的最簡單的方法就是使用wget,但是這種方式每次都需要將所有數據都重新在網絡上傳輸一遍,而不考慮哪些文件是經過更新的,因此效率非常低下。尤其在需要備份的數據量很大的時候,往往需要花費數個小時來在網絡上進行數據傳輸。
因此這里就介紹一種高效的網絡遠程備份和鏡象工具-rsync,它可以滿足絕大多數要求不是特別嚴格的備份需求。
rsync是類unix系統下的數據鏡像備份工具,從軟件的命名上就可以看出來了――remote sync。它的特性如下:
可以鏡像保存整個目錄樹和文件系統。
可以很容易做到保持原來文件的權限、時間、軟硬鏈接等等。
無須特殊權限即可安裝。
優化的流程,文件傳輸效率高。
可以使用rcp、ssh等方式來傳輸文件,當然也可以通過直接的socket連接。
支持匿名傳輸,以方便進行網站鏡象。
軟件下載
rysnc的主頁地址為:
http://rsync.samba.org/
目前最新版本為2.4.6。可以選擇從原始網站下載:http://rsync.samba.org/ftp/rsync/。也可以選擇從本站下載:rsync 2.4.6。
編譯安裝
rsync的編譯安裝非常簡單,只需要以下簡單的幾步:
[root@www rsync-2.4.6]# ./configure
[root@www rsync-2.4.6]# make
[root@www rsync-2.4.6]# make install
但是需要注意的是必須在服務器A和B上都安裝rsync,其中A服務器上是以服務器模式運行rsync,而B上則以客戶端方式運行rsync。這樣在web服務器A上運行rsync守護進程,在B上定時運行客戶程序來備份web服務器A上需要備份的內容。
rsync服務器
1、rsync服務器的啟動
在web服務器A上需要以守護進程方式來啟動rsync服務器,只需要運行:
[root@www rsync-2.4.6]# /usr/local/bin/rsync --daemon
即可啟動。rsync默認服務端口為873,服務器在該端口接收客戶的匿名或者認證方式的備份請求。
如果要在啟動時把服務起來,有幾種不同的方法,比如:
a、加入inetd.conf
編輯/etc/services,加入rsync 873/tcp,指定rsync的服務端口是873。編加/etc/inetd.conf,加入rsync stream tcp nowait root /bin/rsync rsync --daemon
注:對于xinetd,設置方法類似。
b、加入rc.local
編輯/etc/rc.d/rc.local,在最后添加:
/usr/local/bin/rsync --daemon
2、rsync的配置
對于rsync服務器來說,最重要和復雜的就是它的配置了。rsync服務器的配置文件為/etc/rsyncd.conf,其控制認證、訪問、日志記錄等等。
該文件是由一個或多個模塊結構組成。一個模塊定義以方括弧中的模塊名開始,直到下一個模塊定義開始或者文件結束,模塊中包含格式為name = value的參數定義。每個模塊其實就對應需要備份的一個目錄樹,比方說在我們的實例環境中,有三個目錄樹需要備份:/www/、 /home/web_user1/和/home/web_user2/,那么就需要在配置文件中定義三個模塊,分別對應三個目錄樹。
配置文件是行為單位的,也就是每個新行都表示一個新的注釋、模塊定義或者參數賦值。以#開始的行表示注釋,以"/"結束的行表示下面一行是該行的繼續。參數賦值中等號后可能是一個大小寫不敏感的字符串、一個以trure/false表示的布爾值。
全局參數
在文件中[modlue]之前的所有參數都是全局參數,當然也可以在全局參數部分定義模塊參數,這時候該參數的值就是所有模塊的默認值。
motd file
"motd file"參數用來指定一個消息文件,當客戶連接服務器時該文件的內容顯示給客戶,默認是沒有motd文件的。