帶你走進rsync的世界

 Rsync(remote synchronize)是一個遠程數據同步工具,可經過LAN/WAN快速同步多臺主機間的文件,也能夠使用 Rsync 同步本地硬盤中的不一樣目錄。rsync共有3種使用方法,在配置rsync也是有6個步驟的。下面咱們就從rsync的介紹,rsync的使用和rsync的配置帶你走進rsync的世界linux

一.rsync簡介

Rsync(remote synchronize)是一個遠程數據同步工具,可經過LAN/WAN快速同步多臺主機間的文件,也能夠使用 Rsync 同步本地硬盤中的不一樣目錄。 在使用 rsync 進行遠程同步時,能夠使用兩種方式:遠程 Shell 方式(建議使用 ssh,用戶驗證由 ssh 負責)和 C/S 方式(即客戶鏈接遠程 rsync 服務器,用戶驗證由 rsync 服務器負責)。rsync 被稱爲是一個文件同步的快速方法,主要是由於其在同步文件時會檢查文件之間是否有差別,它只同步存在差別或者不存在的文件,可是首次同步時速度依然很慢。shell

rsync有許多選項:
    -n: 在不肯定命令是否能按意願執行時,務必要事先測試;-n能夠完成此功能;
    -v: --verbose,詳細輸出模式
    -q: --quiet,靜默模式
    -c: --checksum,開啓校驗功能,強制對文件傳輸進行校驗
    -r: --recursive,遞歸複製;
    -a: --archives,歸檔,保留文件的原有屬性
    -p: --perms 保留文件的權限
    -t: --times 保留文件的時間戳
    -l: --links 保留文件的符號連接 
    -g: --group 保留文件的屬組
    -o: --owner 保留文件的屬主
    -D: --devices 保留設備文件
    -H, --hard-links 保留硬鏈結;
    -S, --sparse 對稀疏文件進行特殊處理以節省DST的 空間;
    -e ssh: 表示使用ssh協議做承載
    -z: 對文件壓縮後傳輸
    --progress:顯示進度條
    --stats: 顯示如何執行壓縮和傳輸
    --delete:刪除那些DST中有而SRC沒有的文件,即刪除DST中多餘的文件;

rsync1

二,rsync使用方法

rsync能夠在此處下載 http://rsync.samba.org/ ,CentOS系統上rsync默認是安裝的。服務器

rsync有六種不一樣的工做模式:併發

1. 拷貝本地文件

當SRC和DES路徑信息都不包含有單個冒號」:」分隔符時就啓動這種工做模式。ssh

[root@localhost ~]# rsync -avSH /home/feiyu/ /bak/
2.將本地機器的內容拷貝到遠程機器

使用一個遠程shell程序(如rsh、ssh)來實現將本地機器的內容拷貝到遠程機器。當DST路徑地址包含單個冒號」:」分隔符時啓動該模式。tcp

[root@localhost ~]# rsync -av /home/feiyu/ 192.168.0.24:/home/feiyu/
3.將遠程機器的內容拷貝到本地機器

使用一個遠程shell程序(如rsh、ssh)來實現將遠程機器的內容拷貝到本地機器。當SRC地址路徑包含單個冒號」:」分隔符時啓動該模式。工具

[root@localhost ~]# rsync -av 192.168.0.24:/home/feiyu/  /home/feiyu/ 

注意:rsync命令使用中,若是源參數的末尾有斜線,就會複製指定目錄的內容,而不復制目錄自己;沒有斜線,則會複製目錄自己;目標參數末尾的斜線沒有做用;所以下面的命令測試

[root@localhost ~]# rsync -r /mydata/data /backups/ : 會把目錄data直接同步至/backups目錄中
 
[root@localhost ~]# rsync -r /mydata/data/ /backups/: 會把目錄data/中的內容的同步至/backups目錄中

後面三種模式都是在rsync做爲服務器時才能使用的,下面就開始配置rsync做爲一個服務。ui

三,配置rsync服務

配置一個簡單的rsync服務並不複雜,可是咱們安裝好rsync後,並無發現配置文件,因此你須要手動創建一些配置文件。rsync能夠經由xinetd啓動daemon,或者做爲一個獨立進程啓動daemon。若是把它做爲一個獨立進程來啓動,只須要運行命令:rsync –daemon便可;可是咱們通常將其做爲超級守護進程使用。下面是安裝步驟:spa

1.安裝並啓動xinetd
[root@localhost ~]# yum -y install xinetd 
 
[root@localhost ~]# ls  /etc/xinetd.d/    #rsync的xinetd配置文件已經存在
chargen-dgram   daytime-dgram   discard-dgram   echo-dgram   rsync          time-dgram
chargen-stream  daytime-stream  discard-stream  echo-stream  tcpmux-server  time-stream
2. 爲rsync服務提供配置文件

配置文件爲/etc/rsyncd.conf,獲取幫助的方式:man rsyncd.conf。配置文件須要定義一個全局配置和多個rsync共享配置。

[root@localhost ~]# cat  /etc/rsyncd.conf 
# Global Settings
# port = 873   端口號默認爲873,能夠不指定
uid = nobody  //指定當模塊傳輸文件的守護進程UID
gid = nobody  //指定當模塊傳輸文件的守護進程GID
use chroot = no  //使用chroot到文件系統中的目錄中
max connections = 5   //最大併發鏈接數
strict modes = yes      #嚴格檢查文件權限
pid file = /var/run/rsyncd.pid  //指定PID文件
lock file = /usr/local/rsyncd/rsyncd.lock  //指定支持max connection的鎖文件,默認爲/var/run/rsyncd.lock
log file = /var/log/rsyncd.log  //rsync 服務器的日誌
 
# Directory to be synced
[mydata]          //自定義模塊
path = /mydata/data    //用來指定要備份的目錄
ignore errors = yes    //能夠忽略一些IO錯誤
read only = no  //設置no,客戶端能夠上傳文件,yes是隻讀
write only = no  //no爲客戶端能夠下載,yes 不能下載
hosts allow = 192.168.0.0/16  //能夠鏈接的IP
hosts deny = *   //禁止鏈接的IP
list = false       //客戶請求時,使用模塊列表
uid = root
gid = root	
auth users = myuser   //鏈接用戶名,和linux系統用戶名無關係
secrets file = /etc/rsyncd.passwd	//驗證密碼文件

說明(deny | allow 規則):
一、兩者都不出現時,默認爲容許訪問;
二、只出現hosts allow: 定義白名單;但沒有被匹配到的主機由默認規則處理,即爲容許;
三、只出現hosts deny: 定義黑名單;出如今名單中的都被拒絕;
四、兩者同時出現:先檢查hosts allow,若是匹配就allow,不然,檢查hosts deny,若是匹配則拒絕;如兩者均無匹配,則由默認規則處理,即爲容許;

3.建立密碼文件

文件格式(明文): username : password

[root@localhost ~]# echo "myuser:mypass" >  /etc/rsyncd.passwd 
 
[root@localhost ~]# chmod 600 /etc/rsyncd.passwd     #權限必須爲600
4.啓動服務
[root@localhost ~]# service xinetd  start
5.使用方法 ( 後三種模式 )

a. 從遠程rsync服務器中拷貝文件到本地機。當SRC路徑信息包含」::」分隔符時啓動該模式。

[root@localhost ~]# rsync -av myuser@192.168.0.23::mydata /tmp/     #myuser爲rsync服務器的一個用戶

b. 從本地機器拷貝文件到遠程rsync服務器中。當DST路徑信息包含」::」分隔符時啓動該模式。

[root@localhost ~]# rsync -av install.log.syslog  myuser@192.168.0.23::mydata 

c. 列遠程機的文件列表。這相似於rsync傳輸,不過只要在命令中省略掉本地機信息便可。

[root@localhost ~]# rsync -av myuser@192.168.0.23::mydata免費提供最新Linux技術教程書籍,爲開源技術愛好者努力作得更多更好:http://www.linuxprobe.com/
相關文章
相關標籤/搜索