lsyncd与rsync实现实时自动同步的配置

   一、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目录情况

时间: 2024-08-02 20:44:35

lsyncd与rsync实现实时自动同步的配置的相关文章

linux系统中Rsync + Lsync实时文件同步配置详解

使用Rsync + Lsync可实现实时文件同步,本文就介绍如何配置Rsync + Lsync.并测试文件同步功能. 服务器信息: 主:10.86.255.154 从:10.86.255.155 1.从服务设定. 1.1.安装配置rsync xinet. # yum -y install rsync xinet # cp /etc/xinetd.d/rsync /etc/xinetd.d/rsync.bkp0625 # vim /etc/xinetd.d/rsync  # default: of

Windows下MySQL的主从热备(自动同步)配置

本配置方法适用于5.1之后的版本,个人在5.5上配置成功(5.1之前版本请参考另外的配置说明)   环境说明: Master:192.168.1.200 Slave:192.168.1.210   MySQL 的 Master 配置: 配置my.ini:   [mysqld] # The TCP/IP Port the MySQL Server will listen on port=3306 server-id=200 log-bin=mysql-bin relay-log=relay-bin

Linux下MySQL的主从热备(自动同步)配置

个人在5.5上配置成功   环境说明: Master:192.168.1.200 Slave:192.168.1.132   MySQL 的 Master 配置: 配置my.cnf:   # vi /etc/my.cnf   [mysqld] datadir=/var/lib/mysql socket=/var/lib/mysql/mysql.sock user=mysql # Disabling symbolic-links is recommended to prevent assorted

Linux 文件同步工具——inotify+rsync实现实时同步

文章整理自:http://ixdba.blog.51cto.com/2895551/580280 前面我们已经讲解了如何使用rsync实现文件同步,但是rsync会存在一些缺点: 一.rsync的优点与不足 与传统的cp.tar备份方式相比,rsync具有安全性高.备份迅速.支持增量备份等优点,通过rsync可以解决对实时性要求不高的数据备份需求,例如定期的备份文件服务器数据到远端服务器,对本地磁盘定期做数据镜像等. 随着应用系统规模的不断扩大,对数据的安全性和可靠性也提出的更好的要求,rsyn

linux中SVN钩子post-commit和rsync实现自动同步数据

我们通过之前文章<SVN钩子简介和常用钩子说明>已经知道 ,SVN钩子实际就是一些shell脚本.今天我们就通过post-commit钩子来实现下svn数据更新,借助rsync实现自动同步数据. 以我们之前创建的版本库/home/svndata/21yunweinew为例说明. 我们创建一个网站源码目录放置我们的程序,实际生产环境中可以是已经存在的web源码目录,比如/home/webdata/21yunweinew. 之前我们同步数据会是通过下载或更新命令来实现: svn co svn://

百度云管家如何开启“通讯录自动同步”功能?

  在设置界面中可以选择开启"通讯录自动同步"功能.开启这个功能后,您的手机通讯录数据会与云端通讯录数据实时同步.通讯录数据可以在多个设备中使用,除了手机端,在百度云网页上也可以对通讯录数据进行管理.任意一个设备的通讯录信息有变化时,都会自动同步.

linux中用rsync同步备份文件配置方法

linux rsync同步设置 rsync是一款数据镜像备份工具,可以保持两个服务器间数据同步,用得最多的场景就是备份数据了. 安装方法如下: 安装 在UBUNTU下安装RSYNC通过以下步骤可以实现:  代码如下 复制代码 $ sudo apt-get install rsync xinetd 配置 1. 编辑/etc/default/rsync 启动rsync作为使用xinetd的守护进程  代码如下 复制代码 $ sudo vim /etc/default/rsync   RSYNC_EN

iPhone添加LotusNotes自动同步支持

5月14日消息,据国外媒体报道,IBM将为iPhone用户添加对Lotus Notes的自动同步支持. 本周二公司表示Lotus Notes和将于今年推出的Domino 8.5.1将共同推出用于Lotus Notes Traveler的资料管理(Exchange ActiveSync)支持.以此实现在iPhone上接收几乎实时的新信息通知以及会议. 使用苹果智能手机的用户已经可以通过iNotes Ultralite登陆Notes电子邮件,然而新版本的Lotus Notes Traveler将使用

RSync实现文件同步备份配置详解_服务器其它

一.什么是rsync rsync,remote synchronize顾名思意就知道它是一款实现远程同步功能的软件,它在同步文件的同时,可以保持原来文件的权限.时间.软硬链接等附加信息. rsync是用 "rsync 算法"提供了一个客户机和远程文件服务器的文件同步的快速方法,而且可以通过ssh方式来传输文件,这样其保密性也非常好,另外它还是免费的软件. rsync 包括如下的一些特性: 能更新整个目录和树和文件系统: 有选择性的保持符号链链.硬链接.文件属于.权限.设备以及时间等: