国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 服務器 > 管理維護 > 正文

lsyncd+rsync實現實時自動同步

2024-09-10 14:18:59
字體:
來源:轉載
供稿:網友

一、概述

一般rsync軟件是通過crond這支后臺進行(計劃任務)來實現自動同步數據,如今已有更好的開源軟件來代替使用crond了,那就是lsyncd( Live Syncing (Mirror) Daemon)它的工作原理:監視本地(rsync client)的目錄,當源數據有文件或目錄更新時,更新本地文件或目錄到遠端機器(rsync server),保持實時文件同步,但是它更新數據時需要遠端rsync server運行rsync demon

配置環境如下
(1)需要配置rsyncd.conf文件的一端,稱為rsync server
(2)不需要配置rsyncd.conf文件的一端,稱為rsync client
(3)本次環境如下
rsync服務器:192.168.0.53(安裝rsync)
rsync客戶端:192.168.0.54(安裝rsyncd
+lsyncd

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

(3)創建用于同步數據的目錄(rsync服務器端)
作用:該目錄用于存放lsyncd推送過來的數據
[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 #保存將要被同步的數據的目錄
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目錄情況

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 韩城市| 方山县| 泸州市| 赣州市| 云霄县| 澎湖县| 辛集市| 清水县| 桃江县| 阿鲁科尔沁旗| 白银市| 丽水市| 闸北区| 遂昌县| 汉沽区| 遂宁市| 建瓯市| 蒲江县| 朔州市| 柞水县| 新余市| 黄骅市| 隆安县| 应城市| 循化| 梁平县| 湘乡市| 苏尼特左旗| 伊金霍洛旗| 马公市| 武强县| 即墨市| 湘潭县| 宁海县| 喀什市| 宝兴县| 江口县| 吉水县| 黄梅县| 孝昌县| 紫阳县|