歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux基礎 >> Linux教程 >> Fedora 10 下rsync的配置和使用

Fedora 10 下rsync的配置和使用

日期:2017/2/28 16:44:30   编辑:Linux教程

rsync是一個提供快速增量文件傳輸的開源工具。其基於GNU General Public License 發布,目前主要有 Wayne Davison (http://opencoder.net/)維護。

通過他所提供的功能,rsync是一個用來做備份或者鏡像的理想工具。

2009年的5月8日,rsync 3.0.6版本發布,本文所做的配置和實驗就是基於這個本版,系統環境為Fedora 10。

rsync介紹

rsync是一個Unix系統的的文件傳輸程序,通過使用“rsync 算法”,提供遠程文件同步的快速方法。顧名思義,rsync就是 remote sync。通過過程中,只是發送發生改變的文件,而不是發送全部的內容。

他的特性如下:

1、可以更新整個目錄樹和文件系統;

2、可以保留文件的軟鏈接、硬鏈接、權限信息、屬主信息、設備和時間信息;

3、無須特殊權限即可安裝;

4、內部的流水線提高了多文件傳輸的速度;

5、可以使用ssh、rsh或者socket鏈接進行傳輸;

6、支持匿名傳輸;

rsync安裝

rsync的安裝通過了Fedora的yum源,yum install rsync.i386 即可安裝。

rsync工作原理

在兩台電腦間同步數據時,必須設置其中一台安裝"rsync server"(rsync必須以daemon的方式運行,關於daemon,可以參考後面的資料),同時配置 /etc/rsyncd.conf。

有了一台rsync服務器以後,我們就可以向其他多台機器上同步數據,來建立數據的備份或者鏡像。由於使用了“同步算法”和文件比較壓縮機制,所以rsync的工作效率非常高。

使用rsync離不開ssh(如果對於ssh不熟悉的,可以參考資料中的鏈接)。

服務器配置

通過配置一個rsync服務器,我們就可以將他的文件同步回來,如果在兩台機器上都配置了rsync服務,我們就可以實現雙向的同步。rsync作為daemon運行有兩種方式,一種是通過inet daemon,一種是采用單獨運行的方法。

建議使用單獨運行的方法,通過一個cron來定期的同步文件,這種方法可以應對比通過inet方式大得多的訪問量。

rsync的配置文件存放在 /etc/rsyncd.conf中,下面是一份樣例:

motd file = /etc/rsyncd.motd

log file = /var/log/rsyncd.log

pid file = /var/run/rsyncd.pid

lock file = /var/run/rsync.lock

[simple_path_name]

path = /rsync_files_here

comment = My Very Own Rsync Server

uid = nobody

gid = nobody

read only = no

list = yes

auth users = username

secrets file = /etc/rsyncd.scrt

下面來介紹下這個配置文件,第一行是message of the day(motd),文件內的內容會在用戶進行連接的時候顯示。第二個文件顯而易見是日志文件,記錄程序執行的日志。

PID文件包含了程序執行的進程ID(Process ID)。Lock文件用來確保rsync daemon能夠正常運行。寫在這裡的選項是全局的,也就是對所有的rsync 目錄都生效。

從方括號中path以下的部分,屬於局部的配置,只對與在這個目錄下的請求生效,方括號中的路徑不需要是完整的路徑,他只相當於一個別名。真正的目錄寫在path變量中,如果你怕時間長了記不住這個目錄存放的內容,可以在comment中做一下備注。

配置完成這兩項以後,rsync就可以使用了,但是這時你的服務是不安全的,他是wide open to the world的,所以你還需要在安全方面進行一些加強。

rysnc提供了用戶驗證和地址驗證兩種方式

auth users 存放允許訪問的用戶名, secrets file 存放訪問的密碼,文件內容很簡單,形式為 username:password。

如果希望通過地址來限制訪問,則需要添加 hosts allow 和 hosts deny。

使用Rsync

使用rsync的方式很簡單,對於沒有用戶權限限制的訪問,如下:

rsync -rv 10.210.141.125::path_name /home/cipher/rsyncdata/

就可以同步服務器上的文件了。

如果需要設置rsync的密碼文件,需要對該文件的權限特別注意,文件的屬主必須為root:root,而且文件權限為600,即不能被其他人讀取。

rsync的選項很多,靈活運用這些選項我們就能夠完成各種各樣的同步需求,最常用的有 -r 遞歸、-l 同步鏈接、 -t 同步文件時間(這個選項需要確保兩台服務器的時間同步)、-p 同步權限

--exclude 同步中不包括某些文件。

如果你想了解更多的配置選項,可以通過 man rsyncd.conf 來了解更多的內容。

諸如rsync的man page

Copyright © Linux教程網 All Rights Reserved