1 什麼是rsync;
rsync 是一個Unix/linux系統下的文件同步和傳輸工具。Rsync通過“rsync算法”提供了一個客戶機和遠程文件服務器的文件同步的快速方法。每次只傳送兩個文件的不同部分,而不是每次都整份傳送
rsync 包括如下的一些特性:
能更新整個目錄樹和文件系統;
有選擇性的保持符號鏈鏈、硬鏈接、文件屬性、權限、設備以及時間等;
能用rsh、ssh 或直接端口做爲傳輸入端口;
支持匿名rsync 同步文件,是理想的鏡像工具;
Rsync可以通過rsh或ssh使用,也能以daemon模式去運行,在以daemon方式運行時Rsync server會打開一個873端口,等待客戶端去連接。
2 rsync 服務器的理由;
rsync 服務器架設比較簡單,可能我們安裝好rsync後,並沒有發現配置文件,以及rsync服務器啓動程序,因爲每個管理員可能對rsync 用途不一樣,所以一般的發行版只是安裝好軟件就完事了,讓管理員來根據自己的用途和方向來自己架設rsync服務器;因爲這個rsync應用比較廣,能在同一臺主機進行備份工作,還能在不同主機之間進行工作。在不同主機之間的進行備份,是必須架設rsync 服務器的。
3 架設rsync服務器過程;
架設rsync 服務器比較簡單,寫一個配置文件rsyncd.conf 。文件的書寫也是有規則的,我們可以參照rsync.samba.org 上的文檔來做;當然我們首先要安裝好rsync 這個軟件才行;
3.1 rsync的安裝;
軟件包:rsync
Rsync如果是rpm包安裝,默認利用,xinetd守護進程,xinetd下的配置文件如下:如果對此文件進行修改,不要重新啓動xinetd服務
Rsync的啓動和關閉,如下圖:
命令:rsync
格式:rsync 【選項】 源文件 目標文件
常見的選項:-a,--archive 歸檔模式,表示以遞歸的方式傳輸文件,並且保持文件屬性,等同於-rlptgoD
-r,–recursive 對子目錄以遞歸模式處理
-l,--links 表示拷貝鏈接文件
-p , --perms 表示保持文件原有權限
-t , --times 表示保持文件原有時間
-g , --group 表示保持文件原有屬用戶組
-o , --owner 表示保持文件原有屬主
-D , --devices 表示塊設備文件信息
-z , --compress 表示壓縮傳輸
-P 顯示傳輸進度
-u, --update 僅僅進行更新,也就是跳過所有已經存在於DST,並且文件時間晚於要備份的文件。(不覆蓋更新的文件)
--port=PORT 指定其他的rsync服務端口
--delete 刪除那些DST中SRC沒有的文件
--password-file=FILE 從FILE中得到密碼
--bwlimit=KBPS 限制I/O帶寬,KBytes /second
--filter “- 文件名”需要過濾的文件
--exclude= :需要過濾的文件
-v 顯示傳輸列表
1.rsync分爲以下4種不同的工作模式:
1>.本地文件拷貝:rsync 選項 原路徑 目的路徑即可
2>.使用一個遠程shell程序(如rsh、ssh)來實現將本地機器的內容拷貝與遠程機器內容拷貝。如:rsync 【選項】 【本地原路徑】 【遠程主機:目的路徑】 ;rsync 【選項】【遠程主機:目的路徑】
3>.建立rsync服務器,然後將rsync服務器上的文件內容和本地機器的內容進行備份拷貝。如:rsync 【選項】 【root@遠程主機::遠程rsync指定的輸出目錄】 【本地路徑】 或 rsync 【選項】 【本地路徑】 【root@遠程主機::遠程rsync指定的輸出目錄】
4>.只需要列出遠程機的文件列表。這類似於rsync傳輸,不過只要在命令中省略掉本地機信息即可。如:rsync -v rsync://rsync服務器地址/rsync指定的輸出目錄