1. 程式人生 > >三十五、 rsync工具介紹、rsync常用選項、rsync通過ssh同步

三十五、 rsync工具介紹、rsync常用選項、rsync通過ssh同步

rsync工具 rsync常用選項 rsync通過ssh同步

三十五、 rsync工具介紹、rsync常用選項、rsync通過ssh同步

一、rsync工具

數據備份,很重要。

rsync工具:數據備份的工具。remote sync(遠程同步)

rsync可以遠程同步數據(類似scp),也可以本地同步數據(類似cp)。

不同於cp或scp的是,它不會覆蓋以前的數據(當數據已存在),而是先判斷已存在的數據和新數據的差異,只有數據不同時才會把不同的部分覆蓋。

若沒有rsync命令,就yum install -y rsync安裝。

# rsync -av /etc/passwd /tmp/1.txt 將/etc/passwd同步到/tmp/目錄下,並改名。

若是遠程同步,數據備份就是IP:path的形式,比如192.168.188.128:/root/。具體用法:

# rsync -av /etc/passwd [email protected]:/tmp/1.txt

用戶名、IP、文件路徑

首次連接會提示時候繼續連接,輸yes繼續。建立連接後,需要輸入密碼

格式:

rsync [OPTION] ... SRC DEST

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

rsync [OPTION] ... [USER@]HOST:SRC DEST 遠程源目錄拷至本地

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

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

option:選項

SRC:源目錄

DEST:目標目錄

若不指定用戶,則為當前終端的用戶。

hostSRC:遠程目錄

二、rsync常用選項

-a:歸檔模式,以遞歸方式傳輸文件,並保持所有屬性。等同於-rlptgoD。後面可以跟個--no-OPTION,表示關閉-rlptgoD中的某個,比如-a--no-l等於-rptgoD。

-r:同步目錄時加上,類似cp時的-r選項。

-v:可視化,打印一些信息,比如文件列表,文件數量。

-l:保留軟鏈接。

-L:同步軟鏈接時會把源文件給同步。

-p:保持文件的權限屬性。755,644;拷貝過去還是這個權限。

-o:保持文件的屬主。

-g:保持文件的屬組。

-D:保持設備文件信息。

-t:保持文件的時間屬性。

--delete:刪除DST中SRC沒有的文件。

--exclude:過濾指定文件,如--exclude=PATTERN,等號後跟文件名。也可以是萬用字符模式(如*.txt)。--exclude “logs”會把文件名包含logs的文件或目錄過濾掉,不同步。

--progress:表示在同步的過程中可以看到同步的過程狀態,比如統計要同步的文件數量、同步的文件傳輸速度等。同-P。

-P:顯示同步過程,比如速率,百分比。比-v詳細。

-u:若DEST中的文件比SRC新,則不同步。

-z:在傳輸過程中壓縮。zip的意思。

-e:指定端口。

用法示例:

# rsync -avL test1 test3 加上-L後,小寫l就不生效了

# rsync -a test1/ test3/ 備份目錄時,要養成加斜杠的習慣

# rsync -avP 123 dir3 傳輸速度,進程都會列出來。

sending incremental file list

123/

123/1.txt

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

123/2.txt

46 100% 44.92kB/s 0:00:00 (xfer#2, to-check=3/6)

123/3.txt

76 100% 74.22kB/s 0:00:00 (xfer#3, to-check=2/6)

123/678

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

123/567/

sent 451 bytes received 96 bytes 1094.00 bytes/sec

total size is 147 speedup is 0.27

三、rsync通過ssh同步

# rsync -av /etc/passwd 192.168.93.130:/tmp/1.txt 本地同步至遠程,推文件

# rsync -av 192.168.93.130:/tmp/1.txt /tmp/2.txt 遠程同步至本地,拉文件

一個冒號就屬於通過ssh方式備份數據。

遠程的對方機器也需要安裝rsync工具才能使用。

# rsync -avP -e "ssh -p 22" /etc/passwd 192.168.93.130:/tmp/1.txt

當對方不是22端口時,可用-e指定連接對方的某個端口


三十五、 rsync工具介紹、rsync常用選項、rsync通過ssh同步