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