1. 程式人生 > >linux-日常運維-文件同步工具-rsync

linux-日常運維-文件同步工具-rsync

進行 含義 root 刪除 ssh 分享 rtp type 中源

作用:a機器文件傳輸到b機器,遠程備份.也可以本機到本機.
需求: 將a目錄下的數據拷貝到b目錄下去,且a一直在更新,每小時拷貝一次
可以使用此命令,rsync, 特點:實現增量拷貝
假設;如果a只更新了一個文件,那麽在只要rsync 進行同步時,只同步更新的這個文件

本機同步
yum install -y rsync #安裝命令
rsync -av /etc/passwd /tmp/1.txt #將/etc/passwd文件拷貝到/tmp下且更改名稱為1.txt -av v是可視化
技術分享圖片
遠程同步:
格式:
rsync -av 路徑 ip地址:路徑

rsync -av /tmp/1.txt [email protected]:/tmp/2.txt #將本機/tmp下的文件,同步到192.168.188.128機器裏/tmp下改名為2.txt root@可以省略

格式介紹:
rsync [OPTION] … SRC DEST #OPTION選項,好比剛才的-av SRC 源目錄 DEST目標目錄

rsync [OPTION] … [user@]host:SRC DEST
例如: rsync -av 192.168.188.128:/tmp/2.txt /tmp/1.txt #與上個例子相反,將192.168.188.128:/tmp/2.txt 這個文件拷貝到我這個機器上

常用選項;

-a 包含-rtplgoD
-r 同步目錄時要加上,類似cp時的-r選項
-v 同步時顯示一些信息,讓我們知道同步的過程
-l 保留軟連接 #源目錄裏面有軟連接,
-L 加上該選項後,同步軟鏈接時會把源文件給同步
-p 保持文件的權限屬性
-o 保持文件的屬主 #如果a拷貝到b,b有這個屬主,則顯示用戶,如果沒有這個用戶,則顯示pid
-g 保持文件的屬組
-D 保持設備文件信息
-t 保持文件的時間屬性
--delete 刪除目標目錄中源目錄沒有的文件 #如果a同步到b,如果b裏面有a裏面沒有的文件,則被刪除,如果不加,則不會刪除,這樣保證文件的一致性
--exclude 過濾指定文件,如--exclude “logs”會把文件名包含logs的文件或者目錄過濾掉,不同步

-P 顯示同步過程,比如速率,比-v更加詳細
-u 加上該選項後,如果目標目錄中的文件比源文件新,則不同步 (mtime)
-z 傳輸時壓縮 節省帶寬,加快速度

示例;
rsync -av /root/111/ /tmp/111_dest/ #將/root/111/的目錄拷貝到 /tmp下,並做改名為111_dest名稱
技術分享圖片
rsync -avL /root/111 /tmp/111_dest #a本來裏面有l,而此參數有L,這種情況時,l的含義則會被覆蓋,l會被忽略,紅款中,顯示為再次同步的文件
技術分享圖片
rsync -avL --exclude ".txt" /root/111/ /tmp/111_dest/ # 過濾源文件中,所有以txt結尾的,將其他文件進行同步
技術分享圖片
可以指定多個exclude
技術分享圖片

rsync通過ssh方式同步 前提:兩個機器都裝有rsync的命令

rsync -av test1/ 192.168.133.132:/tmp/test2/
rsync -av -e "ssh -p 22" test1/ 192.168.133.132:/tmp/test2/ #指定對方機器的端口-e "ssh -p 22"

linux-日常運維-文件同步工具-rsync