1. 程式人生 > >rsync 同步檔案

rsync 同步檔案

一. 場景:利用rsync實現在負載均衡情況下,專案檔案程式碼實現指定頻率同步

二. 安裝:

1.檢測是否安裝rsync服務

rpm -qa|grep rsync

2.服務端和客戶端安裝rsync

yum -y install rsync

也可原始碼安裝

rsync下載地址:http://rsync.samba.org/

安裝方式  

./configure

make && make install

      伺服器A,B都安裝rsync服務。A為主伺服器,A伺服器以伺服器模式執行rsync,而B則以客戶端方式執行rsync。

當A伺服器有檔案變更時,B同步變更檔案。一實現檔案同步。

三. 服務端配置:

1. 伺服器A配置

vi  /etc/rsyncd.conf                                          #根據自己的檔案目錄而定

#[globle]
strict modes = yes
port = 873
uid = root
gid = root
user chroot 
= no max connections = 5 #同時的最大連線數 timeout = 600 pid file = /var/run/rsyncd.pid #程序的pid存放位置 lock file = /var/run/rsyncd.lock #locak檔案位置 log file = /var/log/rsyncd.log #日誌檔案位置 [eeetb.com-rsyncd] #建立一個同步名,伺服器B通過此名稱獲得同步位置 path
= /home/wwwroot #需要同步的檔案存放位置 ignore errors read only = no list = no hosts allow = 47.94.255.44 #允許伺服器B地址,如果是內網可以使用內網IP auth users = root #允許哪些使用者 secrets file = /etc/rsyncd.password #指定允許的使用者和密碼

2. 建立使用者密碼檔案

vi  /etc/rsyncd.password

root:123456 #允許的使用者和密碼

3. 修改防火牆策略,允許873埠(tcp/udp)

vi /etc/sysconfig/iptables  #加入下面規則
-A INPUT -s 47.94.255.44 -p tcp -m state --state NEW -m tcp --dport 873 -j ACCEPT

4. 啟動rsync服務端

/usr/bin/rsync --daemon --config=/etc/rsync.conf

新增rsyncd開機啟動

echo '/usr/bin/rsync --daemon --config=/ect/rsyncd.conf' >>/etc/rc.local 

四. 客戶端配置:

1. 客戶端伺服器B配置

vi  /etc/rsyncd.password
123456  #伺服器A設定的密碼

2. 啟動客戶端

/usr/bin/rsync -avzP --delete --progress --password-file=/etc/rsyncd.password [email protected]地址::eeetb.com-rsyncd /home/wwwroot/

3. 設定定時任務

略。。。

五. 注意:

  • 客戶端啟動 注意密碼檔案  檔案許可權必須為 600  
  • 服務端,客戶端密碼一致性(注:服務端:使用者:密碼   客戶端: 密碼)