1. 程式人生 > >搭建rsync實時同步

搭建rsync實時同步

1、本實驗基於centos6.5伺服器做的

   cat cat /etc/redhat-release 

 

2、在配置環境之前需要先將伺服器自帶的rsync卸除

    yum -y remove rsync*

     

3、清除以後,安裝wget服務

        

  因為之前安裝過所以顯示已經安裝

  4、使用命令下載rsync和inotify

        wget --no-check-certificate https://jaist.dl.sourceforge.net/project/inotify-tools/inotify-tools/3.13/inotify-tools-3.13.tar.gz

  wget   http://rpmfind.net/linux/dag/redhat/el6/en/x86_64/extras/RPMS/rsync-3.0.9-2.el6.rfx.x86_64.rpm

5、在master上新增兩個檔案

        新增密碼認證檔案 

       (1)、在/etc/slave.pass

                     echo "123465" > /etc/slave.pass

           給檔案是給inotify指令碼認證用的

           (2)、在 /usr/local/inotify/

                     echo "123465" >/usr/local/inotify/slave.pass

             將兩個檔案加上許可權

               chmod 600  /etc/slave.pass

    chmod 600   /usr/local/inotify/slave.pass  

                 

              

6、在slave服務區上配置如下:

         在客戶端設定使用者和密碼:

          

        配置檔案修改如下:

            

uid = root  #守護程序的使用者許可權
gid = root   
port = 873  #設定埠
#address = 192.168.80.129 #本機IP地址
use chroot = yes 
read only = no    #no允許客戶端上傳檔案 #yes只讀
write only = no  #允許寫許可權  no/yes  #yes是禁止
#list = yes  #是否提供資源列表
hosts allow=192.168.80.129  #允許IP地址登入
#hosts deny=*   #禁止IP地址登入
max  connections = 5   #開啟最大連線數

#motd file = /etc/rsyncd.motd #模組
pid file = /var/run/rsyncd.pid  #服務的程序號存放位置
log file = /var/log/rsyncd.log   #服務的日誌存放位置
lock file = /var/run/rsync.lock  #服務鎖的存放位置
#transfer logging = yes
#log format = %t%a%m%f%b
#syslog facility = local3
#timeout = 300

[test1]  #要同步的模組名
path = /backup  要同步的目錄
list = yes
ignore errors
auth users = web  #認證使用者
secrets file = /etc/rsyncd.secrets   #存放使用者和密碼的配置檔案
#comment = linux  #隨意定義的一個  

  

7、在master上配置inotify服務

               tar xf inotify-tools-3.13.tar.gz

        

         cd inotify-tools-3.13

          檢測,編譯,安裝

             

              安裝成功後截圖

                

                 

8、檢視目錄是否存在!!!

     

 

9、編寫指令碼inotify指令碼!!

 1 #!/bin/bash
 2 client=192.168.80.130
 3 src=/backup/
 4 dest=test1
 5 user=root
 6 /usr/local/inotify/bin/inotifywait -mrq --timefmt '%d%m%y%H:%M' --format '%T%w%f%e' -e modify,delete,create,move,attrib $src | while read files
 7 do
 8     /usr/bin/rsync -vzrtopgq --delete --progress --password-file=/usr/local/inotify/slave.pass  $src [email protected]$client::$dest
 9     echo "${files} web is ok" >> /tmp/rsyncd.log 2>&1
10 done

10、對指令碼授執行許可權;

         chmod +x   rsync.sh

11、最後執行結果