1. 程式人生 > >rsync同步工具介紹與使用

rsync同步工具介紹與使用

多選 文件信息 工具 源文件 指定 應用 表示 logs 快速

一、rsync同步工具介紹與使用

rsync命令是一個遠程數據同步工具,可通過LAN/WAN快速同步多臺主機間的文件。rsync使用所謂的“rsync算法”來使本地和遠程兩個主機之間的文件達到同步,這個算法只傳送兩個文件的不同部分,而不是每次都整份傳送,因此速度相當快。 rsync是一個功能非常強大的工具,其命令也有很多功能特色選項
命令語法格式(6種):

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
rsync [OPTION]... rsync://[USER@]HOST[:PORT]/SRC [DEST]

語法格式說明:

1、拷貝本地文件。當SRC和DES路徑信息都不包含有單個冒號":"分隔符時就啟動這種工作模式。如:rsync -a /etc/passwd /tmp/passwd_bak
2、使用一個遠程shell程序(如rsh、ssh)來實現將本地機器的內容拷貝到遠程機器。當DST路徑地址包含單個冒號":"分隔符時啟動該模式。如:rsync -av /etc/passwd 192.168.204.129:/tmp/passwd_bak
3、使用一個遠程shell程序(如rsh、ssh)來實現將遠程機器的內容拷貝到本地機器。當SRC地址路徑包含單個冒號":"分隔符時啟動該模式。如:rsync -av 192.168.204.129:/tmp/passwd_bak /etc/passwd


4、從遠程rsync服務器中拷貝文件到本地機。當SRC路徑信息包含"::"分隔符時啟動該模式。如:rsync -av [email protected]::/tmp/test.txt /etc/
5、從本地機器拷貝文件到遠程rsync服務器中。當DST路徑信息包含"::"分隔符時啟動該模式。如:rsync -av /etc/passwd [email protected]::/tmp/passwd_bak
6、列遠程機的文件列表。這類似於rsync傳輸,不過只要在命令中省略掉本地機信息即可。如:rsync -v rsync://192.168.78.192/www

常用選項:

-a :包含-rtplgoD,a選項後面可以跟--no-OPTION這個表示關閉-rlptgoD中的某一個例如 -a--no-l 等同於-rptgoD
-r :同步目錄時要加上,類似cp時的-r選項
-v :同步時顯示-些信息,讓我們知道同步的過程
-l :保留軟連接
-L :加上該選項後,同步軟連接時會把源文件給同步
-p :保持文件的權限屬性
-o :保持文件的屬主
-g :保持文件的屬組
-D :保持設備文件信息
-t :保持文件的時間屬性
--delete :刪除DEST中SRC沒有的文件
--exclude :過濾指定文件,如--exclude “logs”會把文件名含logs的文件或者目錄過濾掉,不同步
-P :顯示同步過程,比如速率,比-v更加詳細
-u :加上該選項後,如果DEST中的文件比SRC新,則不同步
-z :傳輸時壓縮

更多選項可以man以下,也可參考:http://man.linuxde.net/rsync

實例(常用選項):
在完成實例之前,先做好準備工作準備,建立實驗所需要的文件目錄等。
技術分享圖片
1、使用-a選項:
技術分享圖片
-a和--no-OPTION一起使用:
技術分享圖片
使用-v選項看來就是方便,上例告訴我們跳過了非普通文件123.txt,其實123.txt是一個軟連接文件,如果不使用-l選項則不理會軟連接文件的。雖然加上-l選項會把軟連接文件給拷貝過去,但是軟連接的目標文件卻沒有拷貝過去,有時候咱們指向拷貝軟連接文件所指向的目標文件,那這時候該怎麽辦呢?
2、使用-L選項:
技術分享圖片
加上 -L 選項就可以把SRC中軟連接的目標文件給拷貝到DEST。
3、使用--delete選項:
技術分享圖片
test333/目錄並沒有刪除掉123.txt, 加上--delete 選項之後就刪除了。

二、rsync應用實例

1、通過ssh方式

這種方式其實就是讓用戶去登錄到遠程機器,然後執行rsync的任務。
技術分享圖片
這個把本機的文件目錄復制並重命名到192.168.204.129機器上,遠程機器需要安裝rsync工具,安裝命令yum install -y rsync。在遠程機上查看是否接收到了:
技術分享圖片

rsync同步工具介紹與使用