LSYNCD+RSYNC实现实时自动同步

  • A+

一、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

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

(2)创建用于同步数据的目录(rsync服务器端)
作用:该目录用于存放lsyncd推送过来的数据

 [[email protected] ~]# mkdir /tmp/share/ [[email protected] ~]# chown -R root:root /tmp/share; 

2、客户端(lsyncd+rsync)
(1)下载并安装rsync,无需配置rsyncd.conf

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

(2)下载并安装lsyncd

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

(3)创建用于同步数据的目录(rsync客户端)
作用:该目录用于存放将要同步给rsync server的数据

 [[email protected] ~]# mkdir /tmp/share [[email protected] ~]# chown -R root:root /tmp/share; 

三、配置rsync服务器端与rsync客户端
1、配置rsync服务器端
1)配置rsync

 [[email protected] ~]# mkdir /usr/local/rsync/etc [[email protected] ~]# 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

  [[email protected] ~]# mkdir /usr/local/lsyncd/etc [[email protected] lsyncd-1.26]# cp lsyncd.conf.xml /usr/local/lsyncd/etc/ [[email protected] lsyncd-1.26]# ln -sf /usr/local/lsyncd/etc/lsyncd.conf.xml /etc/lsyncd.conf.xml [[email protected] ~]# vi  /usr/local/lsyncd/etc/lsyncd.conf.xml                 #注意区别:”/tmp/share/” 与 “/tmp/share”     

2、配置rsync客户端

 [[email protected] ~]# mkdir  /usr/local/rsync/etc [[email protected] ~]# touch /usr/local/rsync/etc/rsyncd.conf 

三、启动相关服务并测试

1、rsync服务器端

 [[email protected] ~]#  /usr/local/rsync/bin/rsync  –daemon 

2、rsync客户端

 [[email protected] ~]#  /usr/local/rsync/bin/rsync  –daemon [[email protected] ~]#  /usr/local/lsyncd/bin/lsyncd  –conf  /usr/local/lsyncd/etc/lsyncd.conf 

3、测试
先在rsync client的/tmp/share/目录进行增加、删除文件,然后再查看rsync server上的/tmp/share目录情况
转载自http://www.iamtong.com/archives/145

下载服务恢复

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: