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(推送)。

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