介紹
Rsync(remote sync)是類unix系統(tǒng)下的數(shù)據(jù)鏡像備份工具,支持大多數(shù)的類unix系統(tǒng),無論是Linux、Solaris還是BSD,都經(jīng)過了的測(cè)試,現(xiàn)在也有支持windows下的rsync(cwRsync)也已經(jīng)測(cè)試通過,rsync 是一個(gè)節(jié)約帶寬的備份方案,不像傳統(tǒng)的 ftp 會(huì)下載所有的文件,不管是否有更新,而 rsync 只下載那些做了更新的數(shù)據(jù)。它的特性如下:
●.可以鏡像保存整個(gè)目錄樹和文件系統(tǒng)。
●. 可以很容易做到保持原來文件的權(quán)限、時(shí)間、軟硬鏈接等等。
●. 無須特殊權(quán)限即可安裝。
●. 優(yōu)化的流程,文件傳輸效率高。
●. 支持匿名傳輸
何時(shí)選擇Rsync
通過ssh用tar 為文件系統(tǒng)的某部分建立遠(yuǎn)程副本是非常理想的,而rsync則更適合用來使兩臺(tái)機(jī)器之間保持文件系統(tǒng)的同步。一般說來,tar 用于最初的副本,而rsync 則用于獲取自最后一份副本以來所發(fā)生的更改。這是因?yàn)椴淮嬖谌魏文繕?biāo)文件時(shí),tar 可能比rsync 速度更快,但是當(dāng)兩個(gè)文件系統(tǒng)之間的差異很小時(shí),rsync 會(huì)比tar 快得多
Rsync 安裝
安裝環(huán)境:FreeBSD 6.0-RELEASE
所需軟件:rsync-2.6.7.tar.gz
安裝路徑:/usr/local/rsync
下載地址:http://rsync./ftp/rsync/rsync-2.6.7.tar.gz (740K)
安裝過程:
tar xvzf rsync-2.6.7.tar.gz
cd rsync-2.6.7
./configure --prefix=/usr/local/rsync
make
make install
參數(shù)說明:--prefix 指定rsync要安裝的目錄.
至此,安裝過程就結(jié)束了
Rsync配置
/etc/rsyncd.conf (默認(rèn)是沒有的,可以手工創(chuàng)建)
#全局選項(xiàng)
strict modes =yes #是否檢查口令文件的權(quán)限
port = 873 #默認(rèn)端口873
log file = /var/log/rsyncd.log #日志記錄文件
pid file = /usr/local/rsync/rsyncd.pid #運(yùn)行進(jìn)程的ID寫到哪里
#模塊選項(xiàng)
[test] # 這里是認(rèn)證的模塊名,在client端需要指定
max connections = 5 #客戶端最大連接數(shù),默認(rèn)0(沒限制)
uid = livedoorcn #指定該模塊傳輸文件時(shí)守護(hù)進(jìn)程應(yīng)該具有的uid
gid = livedoorcn #指定該模塊傳輸文件時(shí)守護(hù)進(jìn)程應(yīng)該具有的gid
path = /home/rsync_test # 需要做備份的目錄
ignore errors # 可以忽略一些無關(guān)的IO錯(cuò)誤
read only = no #no客戶端可上傳文件,yes只讀
write only = no #no客戶端可下載文件,yes不能下載
hosts allow = * #充許任何主機(jī)連接
hosts deny = 10.5.3.77 #禁止指定的主機(jī)連接
auth users = livedoorcn # 認(rèn)證的用戶名,如果沒有這行,則表明是匿名
secrets file = /usr/local/rsync/rsyncd.scrt # 指定認(rèn)證口令文件位置
生成rsync密碼文件
在server端生成一個(gè)密碼文件/usr/local/rsync/rsyncd.scrt
vi rsyncd.scrt
---------content----------
livedoorcn:******
----------end-------------
注意:密碼文件的權(quán)限,是由rsyncd.conf里的參數(shù)
strict modes =yes/no 來決定
Rsync 的啟動(dòng)
rsycn 的啟動(dòng)方式有多種,我們?cè)谶@里介紹以下幾種:
●. 守護(hù)進(jìn)程方式:
/usr/local/rsync/bin/rsync --daemon
●.inetd方式:
在/etc/services中加入:
rsync 873/tcp
然后在/etc/inetd.conf中加入:
rsync stream tcp nowait root /usr/local/bin/rsync rsyncd --daemon
●.加入rc.local(FreeBSD)
編輯/etc/rc.d/rc.local,在最后添加:
/usr/local/bin/rsync --daemon
驗(yàn)證啟動(dòng)是否成功
ps -aux |grep rsync
root 59120 0.0 0.2 1460 972 ?? Ss 5:20PM 0:00.00 /usr/local/rsync/bin/rsync –daemon
netstat -an |grep 873
tcp4 0 0 *.873 *.* LISTEN
Rsync 客戶端安裝(我這里server和client是同一臺(tái)機(jī)器)
安裝環(huán)境:FreeBSD 6.0-RELEASE
所需軟件:rsync-2.6.7.tar.gz
安裝路徑:/usr/local/rsync
下載地址:http://rsync./ftp/rsync/rsync-2.6.7.tar.gz (740K)
安裝過程:
tar xvzf rsync-2.6.7.tar.gz
cd rsync-2.6.7
./configure --prefix=/usr/local/rsync
make
make install
參數(shù)說明:--prefix 指定rsync要安裝的目錄.
至此,安裝過程就結(jié)束了
實(shí)例演示
cd /usr/local/rsync/bin
下載文件
./rsync -vzrtopg --progress --delete livedoorcn@10.5.3.98::test /tmp/rsync
上傳文件
./rsync -vzrtopg --progress --delete /tmp/rsync livedoorcn@10.5.3.98::test
Rsync 同步參數(shù)說明
-vzrtopg里的v是verbose,z是壓縮,r是recursive,topg都是保持文件原有屬性如屬主、時(shí)間的參數(shù)。
--progress是指顯示出詳細(xì)的進(jìn)度情況
--delete是指如果服務(wù)器端刪除了這一文件,那么客戶端也相應(yīng)把文件刪除
Livedorocn@10.5.3.98中的livedoorcn是指定密碼文件中的用戶名
::test是指在rsyncd.conf里定義的模塊名
/tmp/rsync是指本地要備份目錄
總結(jié)
掌握rsync的安裝、配置、啟動(dòng)方式
掌握rsync同步參數(shù)的使用