rsync命令說明

命令:rsync負責數據同步的的命令,可以從本地到本地進行同步,也可以實現遠程同步。本地同步實現本地的兩個目錄同步。遠程同步包括兩種方式:可以通過ssh利用遠程shell腳本完成同步,也可以利用rsync進程自身完成,遠程同步包含兩種方向,Pull和Push。其中Pull是從遠程拉取到本地,Push是從本地推送到遠程。

基本命令格式爲:

rsync [options]  src  dest

其中src爲源地址,dest爲目的地址,以下目錄中都以黃色標記源地址,綠色標記目的地址。

 

一、本地同步

rsync [OPTION...]  SRC...        [DEST]

從本地的SRC目錄中同步數據到本地DEST目錄,如果缺失表示同步數據到當前Shell工作目錄。

二、通過遠程shell完成同步

1. Pull

rsync [OPTION...]  [USR@]HOST:SRC...     [DEST]

2. Push

rsync [OPTION...]  SRC...          [USER@]HOST:DEST

 

解釋:

通過遠程Shell完成同步,src和dest地址中有且只有一個爲遠程地址,另一個地址爲本地地址。遠程地址形式爲[USR@]HOST:ADDR表示遠程地址。其中USR@可選,HOST必選(表示遠程主機地址),HOST和ADDR之間用單個冒號":"隔開表示的是通過遠程shell同步。其中ADDR表示的是源或者目標主機上的目錄地址。

1)如果src爲該類型地址,那麼dest則是本地地址(可選),則表示利用遠程(HOST含義)shell(冒號含義)同步數據到本地dest(或者shell工作目錄),則是Pull(拉取)。

2)如果src爲本地地址,dest爲該類型地址,則是表示從本地src推送數據到遠程(HOST含義),利用shell(冒號)完成數據推送,則是Push(推送)。

 

 

三、通過rsync進程來實現同步

1. Pull

rsync [OPTION...]   [USR@]HOST::SRC...            [DEST]

rsync [OPTION...] rsync://[USR@]HOST[:PORT]/SRC...      [DEST]

2.Push

rsync [OPTION...] SRC...        [USR@]HOST::[DEST]

rsync [OPTION...] SRC...        rsync://[USER@]HOST[:PORT]/DEST

 

解釋:

通過rsync進程本身來實現同步數據,src和dest中有且只有一個爲遠程地址,另一個爲本地地址。遠程地址格式包含兩種格式:

1)[USR@]HOST::ADDR

2)  rsync://[USR@]HOST[:PORT]/ADDR

HOST都是表示了遠程地址,第一種格式用雙冒號"::"表示是利用rsync進程自身完成同步,區別了單冒號":"。第二種格式類似於URL的方式,在[:PORT]中設定端口。ADDR都是目錄地址。

1)同樣如果src地址爲遠程地址(兩種格式的一種),dest爲目標地址,同步遠程到本地。表示Pull拉取。

2)如果src是本地地址,dest爲遠程地址,同步本地到遠程。則表示Push(推送)。

 

四、總結:

rsync指令根據地址中有誤遠程地址分爲本地同步和遠程同步兩種。其中遠程同步src和dest中一個爲遠程地址,一個爲本地地址。在遠程同步中,按照遠程地址的類型分爲三種:

1)[USR@]HOST:ADDR

2)  [USR@]HOST::ADDR

3) rsync://[USR@]HOST[:PORT]

。地址中都包含HOST字段,表示是遠程地址。遠程同步可以從兩個維度劃分:

1.   按照同步方式(手段)劃分:

前面三種遠程地址,第一種表示通過遠程shell完成同步(單個冒號區分),後面兩種表示利用rsync進程自身來實現同步(通過雙冒號區分、通過URL地址區分)。

2. 按照同步類型劃分:

如果src是遠程地址,則是Pull(拉取),如果dest是遠程地址則Push(推送)。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章