【1分鐘系列教程】Linux系統rsync數據同步服務

rsync數據同步服務介紹

rsync是一種開源、快速的、多功能的、能夠實現全量、增量的本地或遠程數據同步備份工具,它適用於多種操做系統平臺shell

一:rsync的特性(功能 )

一、支持拷貝特殊文件(如連接文件、設備文件)segmentfault

二、拷貝時能夠排除目錄中目錄或文件不須要同步的功能dom

三、能夠保持源文件或目錄屬性不發生改變ssh

四、能夠實現全量、增量同步功能,傳輸效率比較高工具

五、能夠用scp、ssh、rsh等方式配合使用測試

六、能夠經過socke傳輸方式來同步數據spa

七、支持匿名或認證(無需系統用戶)的進和模式來進行傳輸同步數據操作系統

二:rsync的工做方式

一、主機本地的傳輸,相似於cp命令code

二、藉助於SSH服務來傳輸數據遞歸

三、以守護進程的方式來傳輸數據

三:rsync同步命令格式

一、本地主機

Local:  rsync [OPTION...] SRC... [DEST]

rsync -avz /etc/hosts /tmp/text/

將本地/etc/hosts這個文件拷貝到 /tmp/text/目錄下

[root@Centos ~]# rsync -avz /etc/hosts /tmp/text/

sending incremental file list

hosts

sent 124 bytes  received 31 bytes  310.00 bytes/sec  

total size is 158  speedup is 1.02

[root@Centos ~]# cd /tmp/text/

測試命執行結果

[root@Centos text]# cat /etc/hosts

127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4

::1         localhost localhost.localdomain localhost6 localhost6.localdomain6

[root@Centos text]# cat /tmp/text/hosts

127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4

::1         localhost localhost.localdomain localhost6 localhost6.localdomain6

本地同步時須要注意的是,/tmp/text/與/tmp/text這兩個的區別,前者是同步目錄下的內容,後者是連同當前目錄一同同步**

二、藉助SSH服務

Access via remote shell:

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

rsync -avzP -e ''ssh -p 22"  root@192.168.1.3:/etc/hosts /tmp

將遠程主機的/etc/hosts文件拷貝到/tmp目錄

[root@Centos text]# rsync -avzP -e "ssh -p 22"  root@192.168.1.3:/etc/hosts /tmp

root@192.168.1.3's password: 

receiving incremental file list

hosts

 183 100%  178.71kB/s    0:00:00 (xfer#1, to-check=0/1)

sent 36 bytes  received 146 bytes  40.44 bytes/sec  

total size is 183  speedup is 1.01

測試拉取數據

[root@Centos text]# cat /tmp/hosts   

#本地目錄下文件內容

127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4

::1         localhost localhost.localdomain localhost6 localhost6.localdomain6

###########www.baidu.com
[root@localhost ~]# cat /etc/hosts                          #遠程主機目錄下文件內容

127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4

::1         localhost localhost.localdomain localhost6 localhost6.localdomain6

###########www.baidu.com

[root@localhost ~]# ifconfig

eth0      Link encap:Ethernet  HWaddr 00:0C:29:53:55:79 

 inet addr:192.168.1.3  Bcast:192.168.1.255  Mask:255.255.255.0

 inet6 addr: fe80::20c:29ff:fe53:5579/64 Scope:Link

 UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1

 RX packets:330 errors:0 dropped:0 overruns:0 frame:0

 TX packets:243 errors:0 dropped:0 overruns:0 carrier:0

 collisions:0 txqueuelen:1000 

 RX bytes:33999 (33.2 KiB)  TX bytes:30301 (29.5 KiB)

顯示拉取數據成功,本地與遠端文件內容一致

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

rsync -avzP /etc/hosts -e ''ssh -p 22"  root@192.168.1.3:/etc/hosts

將本地的/etc/hosts文件同步到遠程主機/etc/hosts,同步兩個文件的內數據

測試推送數據

[root@Centos text]# rsync -avzP /etc/hosts -e "ssh -p 22"  root@192.168.1.3:/etc/hosts 

root@192.168.1.3's password: 

sending incremental file list

hosts

 158 100%    0.00kB/s    0:00:00 (xfer#1, to-check=0/1)

sent 124 bytes  received 37 bytes  35.78 bytes/sec  

total size is 158  speedup is 0.98

[root@Centos text]# cat /etc/hosts

127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4

::1         localhost localhost.localdomain localhost6 localhost6.localdomain6

[root@localhost ~]# cat /etc/hosts

127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4

::1         localhost localhost.localdomain localhost6 localhost6.localdomain6

通過測試兩端文件內容一致,推送數據成功

三、守護進程模式

因爲相關配置沒有在如今環境中沒有配置,沒法測試命令執行狀況,後面會介紹相關配置過程與具體參數

Access via rsync daemon:

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

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

rsync -avzP rsync://root@192.168.1.3:/etc/hosts /etc/hosts

將遠程主機上的hosts文件拷貝到本地/etc/hosts目錄

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

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

rsync -avzP /sever/backup rsync://root@192.168.1.2/data/bbs/

將本地的/sever/backup的數據同步到遠程主機/data/bbs/ 下,

四:參數介紹

-a 歸檔遞歸方式傳輸(至關於rtopgDl)

-v 顯示詳細模式

-z傳輸時進行壓縮(如同傳輸圖片時進行壓縮大小提升傳輸速度)

-P顯示傳輸進度信息

--exclude傳輸時排除指定的文件或目錄

若有錯誤或其它問題,歡迎小夥伴留言評論、指正。若有幫助,歡迎點贊+轉發分享。

歡迎你們關注民工哥的公衆號:民工哥技術之路

image.png

相關文章
相關標籤/搜索