lsyncd與rsync實現即時自動同步的配置

來源:互聯網
上載者:User

   一、rsync是類unix系統下的資料鏡像備份工具,從軟體的命名上就可以看出來了—remote sync

  特性如下:

  1、可以鏡像儲存整個分類樹和檔案系統。

  2、可以很容易做到保持原來檔案的許可權、時間、軟永久連結等等。

  3、無須特殊許可權即可安裝。

  4、最佳化的流程,檔案傳輸效率高。

  5、可以使用rcp、ssh等方式來傳輸檔案,當然也可以通過直接的socket串連。

  6、支援匿名傳輸。

  lsyncd的功能:

  (1)開源軟體lsyncd採用inotify原理監聽某一目錄,如果目錄內發生增、刪、改、利用rsync協議自動同步到多個伺服器

  (2)inotify,從kernel 2.6.13開始正式併入核心,RHEL5支援

  (3)可以本地多點目錄的監控並實現到遠程目錄的同步

  (4)在rsync client上通過lsyncd監控並推送資料給rsync server的rsync daemon,rsync server接收lsyncd推送過來的資料,並寫入本地磁碟

  (5)官方介紹:http://code.google.com/p/lsyncd

  注意:而對於那種即時都在變化的資料(例如:資料庫),那麼這種資料的同步,DRBD技術是一個更好的選擇。

  二、軟體的下載與安裝

  1、伺服器端(rsync)

  (1)下載並安裝rsync

 代碼如下  

    [root@example1 ~]# wget http://www.samba.org/ftp/rsync/src/rsync-3.0.7.tar.gz
    [root@example1 ~]# tar zxvf rsync-3.0.7.tar.gz
    [root@example1~]#./configure –prefix=/usr/local/rsync –with-rsyncd-conf=/usr/local/rsync/etc/rsyncd.conf –disable-ipv6 && make && make install

  (2)建立用於同步資料的目錄(rsync伺服器端)

  作用:該目錄用於存放lsyncd推送過來的資料www.111Cn.net

 代碼如下  

    [root@example1 ~]# mkdir /tmp/share/
    [root@example1 ~]# chown -R root:root /tmp/share;

  2、用戶端(lsyncd+rsync)

  (1)下載並安裝rsync,無需配置rsyncd.conf

 代碼如下  

    [root@example2 ~]# wget http://www.samba.org/ftp/rsync/src/rsync-3.0.7.tar.gz
    [root@example2 ~]# tar zxvf rsync-3.0.7.tar.gz
    [root@example2 ~]# ./configure –prefix=/usr/local/rsync –disable-ipv6 && make && make install

  (2)下載並安裝lsyncd

 代碼如下  

    [root@example2 ~]# wget http://lsyncd.googlecode.com/files/lsyncd-1.26.tar.gz
    [root@example2 ~]# tar zxvf lsyncd-1.26.tar.gz
    [root@example2 ~]# ./configure –prefix=/usr/local/lsyncd –enable-xml-config && make && make install

  (3)建立用於同步資料的目錄(rsync用戶端)

  作用:該目錄用於存放將要同步給rsync server的資料

 代碼如下  

    [root@example2 ~]# mkdir /tmp/share
    [root@example2 ~]# chown -R root:root /tmp/share;

  三、配置rsync伺服器端與rsync用戶端

  1、配置rsync伺服器端

  1)配置rsync

 代碼如下  
   [root@example1 ~]# mkdir /usr/local/rsync/etc
    [root@example1 ~]# vi /usr/local/rsync/etc/rsyncd.conf
    uid = root
    gid = root
    use chroot = no
    max connections = 4
    log file = /var/log/rsyncd.log
    pid file = /var/run/rsyncd.pid
    lock file = /var/run/rsync.lock
    [share]
    path = /tmp/share #儲存將要被同步的資料的目錄www.111cn.net
    comment = My Share Documents
    hosts allow = 192.168.0.54 #允許訪問的主機IP
    hosts deny = 0.0.0.0/32
    list = yes
    ignore errors = yes
    read only = false #是否唯讀

  2)配置lsyncd

 代碼如下  
  [root@example1 ~]# mkdir /usr/local/lsyncd/etc
    [root@example1 lsyncd-1.26]# cp lsyncd.conf.xml /usr/local/lsyncd/etc/
    [root@example1 lsyncd-1.26]# ln -sf /usr/local/lsyncd/etc/lsyncd.conf.xml /etc/lsyncd.conf.xml
    [root@example1 ~]# vi /usr/local/lsyncd/etc/lsyncd.conf.xml
    <lsyncd version=”1″>
    <settings>
    <logfile filename=”/var/log/lsyncd.log”/>
    <binary filename=”/usr/local/rsync/bin/rsync”/>
    <pidfile filename=”/var/run/lsyncd.pid”/>
    <callopts>
    <option text=”-avz”/>
    <option text=”–delete”/>
    <option text=”–force”/>
    <exclude-file/>
    <source/>
    <destination/>
    </callopts>
    </settings>
    <directory>
    <source path=”/tmp/share/”/>
    #注意區別:”/tmp/share/” 與 “/tmp/share”
    <target path=”192.168.0.53::share”/>
    </directory>
    </lsyncd>

  2、配置rsync用戶端

 代碼如下  

    [root@example2 ~]# mkdir /usr/local/rsync/etc
    [root@example2 ~]# touch /usr/local/rsync/etc/rsyncd.conf

  三、啟動相關服務並測試

  1、rsync伺服器端

 代碼如下  

    [root@example1 ~]# /usr/local/rsync/bin/rsync –daemon

  2、rsync用戶端

 代碼如下  

    [root@example2 ~]# /usr/local/rsync/bin/rsync –daemon
    [root@example2 ~]# /usr/local/lsyncd/bin/lsyncd –conf /usr/local/lsyncd/etc/lsyncd.conf

  3、測試

  先在rsync client的/tmp/share/目錄進行增加、刪除檔案,然後再查看rsync server上的/tmp/share目錄情況

相關文章

Cloud Intelligence Leading the Digital Future

Alibaba Cloud ACtivate Online Conference, Nov. 20th & 21st, 2019 (UTC+08)

Register Now >

Starter Package

SSD Cloud server and data transfer for only $2.50 a month

Get Started >

Alibaba Cloud Free Trial

Learn and experience the power of Alibaba Cloud with a free trial worth $300-1200 USD

Learn more >

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。