一。環境:
OS: SunOs
compiler: gcc 4.2.4
perl 5.8.7
make 3.81
二、所需軟件
rsync-3.0.7.tar.gz
三、安裝軟件
1、安裝過程:tar xvzf rsync-3.0.7.tar.gz
cd rsync-3.0.7
./configure --prefix=/usr/local/rsync
(注:如果是Unix機器,默認使用的編譯器是CC,編譯無法通過,需要設置為gcc:
CC=gcc ./configure --prefix=/usr/local/rsync)
make
make install
參數說明:--prefix 指定rsync要安裝的目錄.
2、Rsync配置
/etc/rsyncd.conf (默認是沒有的,可以手工創建)
#全局選項
strict modes =yes # 是否檢查口令文件的權限
port = 873 # 默認端口873
log file = /var/log/rsyncd.log # 日志記錄文件
pid file = /usr/local/rsync/rsyncd.pid # 運行進程的ID寫到哪裡
#模塊選項
[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 # 指定認證口令文件位置
3、生成rsync密碼文件
在server端生成一個密碼文件/usr/local/rsync/rsyncd.scrt
vi rsyncd.scrt
---------content----------
livedoorcn:******
----------end-------------
注意:密碼文件的權限,是由rsyncd.conf裡的參數
strict modes =yes/no 來決定
4、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
5、驗證啟動是否成功
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
6、Rsync 客戶端安裝(我這裡server和client是同一台機器)
安裝環境:FreeBSD 6.0-RELEASE
所需軟件:rsync-3.0.7.tar.gz
安裝路徑:/usr/local/rsync
下載地址:http://rsync.samba.org/
安裝過程:tar xvzf rsync-3.0.7.tar.gz
cd rsync-3.0.7
./configure --prefix=/usr/local/rsync
make
make install
參數說明:--prefix 指定rsync要安裝的目錄.
至此,安裝過程就結束了
7、實例演示
cd /usr/local/rsync/bin
下載文件
./rsync -vzrtopg --progress --delete [email protected]::test /tmp/rsync
上傳文件
./rsync -vzrtopg --progress --delete /tmp/rsync [email protected]::test
8、Rsync 同步參數說明
-vzrtopg裡的v是verbose,z是壓縮,r是recursive,topg都是保持文件原有屬性如屬主、時間的參數。
--progress是指顯示出詳細的進度情況
--delete是指如果服務器端刪除了這一文件,那麼客戶端也相應把文件刪除
[email protected]中的colin是指定密碼文件中的用戶名
::test是指在rsyncd.conf裡定義的模塊名
/tmp/rsync是指本地要備份目錄