rsync工具經常使用選項以及同步的兩種方式

rsync -av /etc/passwd /tmp/1.txt    #rsync的本機傳輸寫法              
rsync -av /tmp/1.txt 192.168.188.128:/tmp/2.txt   #rsync的遠程傳輸

rsync格式

rsync [OPTION] … SRC   DEST
rsync [OPTION] … SRC   [user@]host:DEST
rsync [OPTION] … [user@]host:SRC   DEST
rsync [OPTION] … SRC   [user@]host::DEST
rsync [OPTION] … [user@]host::SRC   DEST

rsync經常使用選項

-a 包含-rtplgoD
-r 同步目錄時要加上,相似cp時的-r選項
-v 同步時顯示一些信息,讓咱們知道同步的過程
-l 保留軟鏈接
-L 加上該選項後,同步軟連接時會把源文件給同步
-p 保持文件的權限屬性
-o 保持文件的屬主
-g 保持文件的屬組
-D 保持設備文件信息
-t 保持文件的時間屬性
--delete 刪除DEST中SRC沒有的文件
--exclude 過濾指定文件,如--exclude 「logs」會把文件名包含logs的文件或者目錄過濾掉,不一樣步
-P 顯示同步過程,好比速率,比-v更加詳細
-u 加上該選項後,若是DEST中的文件比SRC新,則不一樣步
-z 傳輸時壓縮

-a包含-rtplgoD分別表示什麼含義

  • -r 同步目錄時要加,相似cp命令時-r的選項
  • -t 保持文件的時間屬性
  • -l 同步時保持文件的軟連接內容
  • -p 保持文件的權限
  • -o 保持文件的全部者(只保持UID)
  • -g 保持文件的屬組(只保持GID)

-v 可視化同步內容

-P 可視化同步內容會更詳細

5-110.png

--delete 刪除"目標"中"源"沒有的文件

-L 同步時保持軟連接的目標文件(會把目標文件附加到本次傳輸的過程當中)

-u 若是「目標」文件比「源」文件新,則不一樣步。

-z 傳輸時壓縮

  • 爲了節省帶寬和減小傳輸時間

--exclude 過濾指定文件,會把包含關鍵字的文件過濾掉。傳輸時跳過。

  • 若是有多個要過濾的文件,要再寫一個--exclude

rsync的同步方式

經過ssh傳輸

rsync -av -e "ssh -p 端口號" 原 目標linux

  • ssh默認端口是22
  • 更改默認端口 vi /etc/ssh/sshd_config 5-111.png
  • 重啓sshd服務前要保證selinux關閉
  • 更改默認端口後須要重啓sshd服務 systemctl restart sshd 5-112.png
  • 端口號若是不是22的話,每次登錄要指定端口 5-113.png

經過rsync服務傳輸

1.編寫rsync服務傳輸的配置文件
vi /etc/rsyncd.conf
2./etc/rsyncd.conf配置詳解
5-114.png
3.啓動rsync服務
rsync --daemon
5-115.png
4.如何把rsync加入開機啓動:
把/usr/bin/rsync加入到/etc/rc.local裏
5.如何變動rsyncd.conf的配置文件路徑及文件名:
rsync --config=file
若是不定義默認就是/etc/rsyncd.conf安全

rsyncd.conf配置文件詳解

port:指定在哪一個端口啓動rsyncd服務,默認是873端口。變動端口後必須pkill rsync而後從新啓動服務才能生效.
log file:指定日誌文件。
pid file:指定pid文件,這個文件的做用涉及服務的啓動、中止等進程管理操做。
address:指定啓動rsyncd服務的IP。假如你的機器有多個IP,就能夠指定由其中一個啓動rsyncd服務,
若是不指定該參數,默認是在所有IP上啓動。
[]:指定模塊名,裏面內容自定義。
path:指定數據存放的路徑。
use chroot true|false:表示在傳輸文件前首先chroot到path參數所指定的目錄下。這樣作的緣由是實現額外的安全防禦,
但缺點是須要以roots權限,而且不能備份指向外部的符號鏈接所指向的目錄文件。默認狀況下chroot值爲true,
若是你的數據當中有軟鏈接文件,阿銘建議你設置成false。
max connection:指定最大的鏈接數,默認是0,即沒有限制。
read only ture|false:若是爲true,則不能上傳到該模塊指定的路徑下。
list:表示當用戶查詢該服務器上的可用模塊時,該模塊是否被列出,設定爲true則列出,false則隱藏。
uid/gid:指定傳輸文件時以哪一個用戶/組的身份傳輸。
auth users:指定傳輸時要使用的用戶名。
secrets file:指定密碼文件,該參數連同上面的參數若是不指定,則不使用密碼驗證。
注意該密碼文件的權限必定要是600。
格式:用戶名:密碼
hosts allow:表示被容許鏈接該模塊的主機,能夠是IP或者網段,若是是多個,中間用空格隔開。
當設置了auth users和secrets file後,客戶端連服務端也須要用用戶名密碼了,
若想在命令行中帶上密碼,能夠設定一個密碼文件
rsync -avL test@192.168.133.130::test/test1/ /tmp/test8/ --password-file=/etc/pass
其中/etc/pass內容就是一個密碼,權限要改成600
指定端口 --prot=端口
相關文章
相關標籤/搜索