rsync同步配置

wang_0720發表於2013-11-05
rsync是一款實現遠端同步功能的軟體,它在同步檔案的同時,可以保持原來檔案的許可權、時間、軟硬連結等附加資訊。
一 安裝
rpm -ivh rsync-3.0.6-4.el5
rsync主要有三個配置檔案
rsyncd.conf(主配置檔案)
rsyncd.secrets(密碼檔案)
rsyncd.motd(rysnc伺服器資訊)

建立目錄
mkdir /etc/rsyncd
cd /etc/rsyncd
建立檔案
touch rsyncd.conf rsyncd.secrets rsyncd.motd
二 服務端配置
cat /etc/rsyncd/rsyncd.conf
uid = etnet
gid = etnet
use chroot = yes
max connections = 5
pid file = /var/run/rsync.pid
lock file = /var/run/rsync.lock
log file = /var/log/rsync.log
[EtnetChinaUI]
path = /usr/local/tomcat/webapps/EtnetChinaUI
ignore errors
read only = no
write only = no
list = yes
auth users = etnet
secrets file = /etc/rsyncd/rsyncd.secrets
auth users是必須在伺服器上存在的真實的系統使用者,如果想用多個使用者以,號隔開
服務端密碼檔案格式
cat /etc/rsyncd/rsyncd.secrets
etnet:123456
密碼檔案的許可權應該是600
chmod 600  /etc/rsyncd/rsyncd.secrets
以daemon方式啟動服務
/usr/bin/rsync --daemon --config=/etc/rsyncd/rsyncd.conf
三 rsync的命令格式:
    1. rsync [OPTION]... SRC [SRC]... DEST
  2. rsync [OPTION]... SRC [SRC]... [USER@]HOST:DEST
  3. rsync [OPTION]... [USER@]HOST:SRC DEST
  4. rsync [OPTION]... [USER@]HOST::SRC [DEST]
  5. rsync [OPTION]... SRC [SRC]... [USER@]HOST::DEST
  6. rsync [OPTION]... rsync://[USER@]HOST[:PORT]/SRC [DEST]

rsync有六種不同的工作模式:

1. 複製本地檔案;當SRC和DES路徑資訊都不包含有單個冒號":"分隔符時就啟動這種工作模式。
2.使用一個遠端shell程式(如rsh、ssh)來實現將本地機器的內容複製到遠端機器。當DST路徑地址包含單個冒號":"分隔符時啟動該模式。
3.使用一個遠端shell程式(如rsh、ssh)來實現將遠端機器的內容複製到本地機器。當SRC地址路徑包含單個冒號":"分隔符時啟動該模式。
4. 從遠端rsync伺服器中複製檔案到本地機。當SRC路徑資訊包含"::"分隔符時啟動該模式。
5. 從本地機器複製檔案到遠端rsync伺服器中。當DST路徑資訊包含"::"分隔符時啟動該模式。
6. 列出遠端機的檔案列表。這類似於rsync傳輸,不過只要在命令中省略掉本地機資訊即可。

四 客戶端
rsync客戶端不需要配置,只需要安裝rsync軟體即可,安裝過程和服務端安裝一樣。
1 從服務端“拉”檔案
rsync -avzP  --password-file=/etc/rsyncd/rsyncd.secrets  etnet@192.168.1.23::EtnetChinaUI /root/EtnetChinaUI
把服務端EtnetChinaUI模組中的檔案同步到本地/root/EtnetChinaUI目錄下
-a, --archive 歸檔模式,保持所有檔案屬性,等同於 -rlptgoD
-v, --verbose 詳細資訊輸出
-r, --recursive 對子目錄進行遞迴處理
-R, --relative 使用相對路徑資訊
-b, --backup 建立備份
-z, --compress 對備份的檔案在傳輸時進行壓縮處理
--delete 用於同步目錄,從 DEST 中將 SRC 不存在的檔案進行刪除
--password-file 使用認證的密碼檔案避免互動式輸入密碼
客戶端的密碼檔案格式如下
cat /etc/rsyncd/rsyncd.secrets

123456
2 向服務端“推”檔案
rsync -avzP --password-file=/etc/rsyncd/rsyncd.secrets /root/EtnetChinaUI/ etnet@192.168.1.23::EtnetChinaUI
把本地/root/EtnetChinaUI下所有的檔案同步到服務端EtnetChinaUI模組。
注意:
1) 向服務端推檔案時,服務端的模組要對使用者有寫許可權。模組的所屬主,uid,gid要一致
2)
向服務端推檔案時,本地路徑後面帶“/”和不帶“/”意義不一樣。
/root/EtnetChinaUI/是將/root/EtnetChinaUI下的所有檔案“推”到rsync伺服器的對應模組下,/root/EtnetChinaUI是將/root下EtnetChinaUI整個目錄“推”到
rsync伺服器的對應模組下。
3 列出rsync服務端的檔案列表
rsync -v --password-file=/etc/rsyncd/rsyncd.secrets rsync://etnet@192.168.1.23/EtnetChinaUI

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/27181165/viewspace-775762/,如需轉載,請註明出處,否則將追究法律責任。

相關文章