rsync+inotify

 rsync+inotify實現文件時實同步  git

                           
由192.168.0.5上inotify服務監測文件是否有更新,若是有更新(修改,刪除,新建)inotify就會經過rsync命令將更新的文件推向三臺web服務器
 
一、在三臺web上配置rsync服務
   #mkdir -p /data/httpd/wwwroot       #建立web目錄
 
   #vim /etc/rsyncd.conf               #配置文件
  1.  1 uid = root
     2 gid = root
     3 use chroot = no
     4 max connections =5
     5 pid file =/var/run/rsyncd.pid
     6 lock file =/var/run/rsync.lock
     7 log file =/var/log/rsyncd.log
     8 [www]
     9 path=/data/httpd/wwwroot/
    10 comment = update
    11 ignore errors
    12 read only = no
    13 list = no
    14 hosts allow =192.168.0.0/255.255.255.0
    15 auth users = root
    16 uid = root
    17 gid = root
    18 secrets file =/etc/rsyncd.secrets
   #vim /etc/rsyncd.secrets                   #建立rsync證文件
   123456
   root:123456
 
   #chmod 0600 /etc/rsyncd.secrets            #設置權限
   #rsync --daemon                                      #啓動服務
   #echo "rsync --daemon"  >> /etc/rc.local   #開機自啓動
 
 
二、配置服務端(rsync+inotify)
   #mkdir -p /data/httpd/wwwroot   #建立目錄存放代碼
   (1)、安裝inotify
   #cd /usr/local/src/
   #wget http://cloud.github.com/downloads/rvoicilas/inotify-tools/inotify-tools-3.14.tar.gz
   #tar xzvf inotify-tools-3.14.tar.gz
   #cd inotify-tools-3.14
   #./configure
   #make
   #make install
 
   (2)、編寫同步更新腳本
  1.  1 #!/bin/bash
     2 src=/data/httpd/wwwroot/
     3 des=www
     4 host="192.168.0.6 192.168.0.7 192.168.0.8"
     5 /usr/local/bin/inotifywait -mrq --timefmt '%d/%m/%y %H:%M'--format '%T %w%f%e'-e close_write,delete,create,attrib $src |while read files
     6 do
     7 for hostip in $host
     8 do
     9 rsync -vzrtopg --delete --progress --password-file=/etc/rsyncd.secrets $src root@$hostip::$des
    10 done
    11 echo "${files} was rsynced">>/tmp/rsync.log 2>&1
    12 done
   (3)、建立rsync認證文件
   #scp from rsync server 
 
   (4)、啓動inotify監控腳本
   #nohup /bin/bash /root/bin/rsync.sh &     
   #echo "nohup /bin/bash /root/bin/rsync.sh &" >> /etc/rc.local
 
   (5)、測試
   在192.168.0.5上進入目錄/data/httpd/wwwroot/
   #touch a.txt
   在三臺web機上/data/httpd/wwwroot/目錄能夠立馬看a.txt。
相關文章
相關標籤/搜索
本站公眾號
   歡迎關注本站公眾號,獲取更多信息