使用rsync+lsync实现触发式实时同步

服务器信息

centos6.5

主:192.168.5.4 搭建lsync

从:192.168.5.3 搭建rsync

1.1 从服务器设置

# yum -y install rsync xinetd
# cp /etc/xinetd.d/rsync /etc/xinetd.d/rsync.blk
# vim /etc/xinetd.d/rsync
# default: off
# description: The rsync server is a good addition to an ftp server, as it \
# allows crc checksumming etc.
service rsync
{
disable = no        →修改‘yes’为‘no’
flags = IPv6 →修改‘IPv6’为‘IPv4’
socket_type = stream
wait = no
user = root
server = /usr/bin/rsync
server_args = --daemon
log_on_failure += USERID
} 1.2.启动xinetd并设置开机启动项。

# service xinetd start

# chkconfig xinetd on

1.3.创建同步文件的存放目录。

# mkdir /home/backup

1.4.创建rsyncd.conf配置文件。

# vim /etc/rsyncd.conf

[backup]                      →名字任意

path = /home/backup       →同步文件存放路径

hosts allow = 192.168.5.4          →允许连接的主机(指定主服务器IP)

hosts deny = *

list = true

uid = root

gid = root

read only = false

2.主服务器设定。

2.1.安装rsync。

# yum -y install rsync

2.2.创建同步对象中,不需要同步的文件一览表。

# vim /etc/rsync_exclude.lst

xx

xx.txt

2.3.在主服务器,执行以下命令。

测试将主服务器/data/下文件同步到从服务器/home/backup

# rsync -avz --delete --exclude-from=/etc/rsync_exclude.lst /data 192.168.5.3::backup

3.使用Rsync + Lsync,当文件或目录发生变更时,可做到实时同步。

3.1.登录主服务器,下载安装Lsync。

# rpm -ivh http://dl.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm

# yum install lsyncd -y

3.2.配置lsyncd文件。

# cp /etc/sysconfig/lsyncd /etc/sysconfig/lsyncd.blk

# vim /etc/sysconfig/lsyncd

# Keep the space there for systemd. Don't nest variables without

# changing the systemd service file to use: /usr/bin/sh -c 'eval XXXX'

#

LSYNCD_OPTIONS="-pidfile /var/run/lsyncd.pid /etc/lsyncd.conf"  →去掉’‘#’

#LSYNCD_OPTIONS=" "

3.3.配置lsyncd.conf,添加以下内容:

# vim /etc/lsyncd.conf

settings{

statusFile = "/tmp/lsyncd.stat",

statusInterval = 1,

}

sync{

default.rsync,

source="/data",                        →指定需同步的源文件目录

target="192.168.5.3::backup",                   →从服务器IP:(rsyncd.conf设定的名字)

excludeFrom="/etc/rsync_exclude.lst",    →排除文件列表

}

3.4.启动lsync。

# /etc/rc.d/init.d/lsyncd start

# chkconfig lsyncd on

3.5.在主服务器,创建新测试文件。

data]# touch xx

3.6.在从服务器确认,同步成功。

# ls /home/backup

Rsync+lsync实现触发式实时同步的更多相关文章

  1. 文件触发式实时同步 Rsync+Sersync Rsync+Inotify-tools

    一.概述 1.Rsync+Sersync 是什么? 1)Sersync使用c++编写基于inotify开发的触发机制: 2)Sersync可以监控所监听的目录发生的变化(包括新建.修改.删除),具体到 ...

  2. Sersync实现触发式文件同步 替代inotify和rsync

    Sersync实现触发式文件同步 替代inotify和rsync Pyinotify是一个Python模块,用来监测文件系统的变化. Pyinotify依赖于Linux内核的功能—inotify(内核 ...

  3. rsync + inotify-tools实现文件的实时同步

    文章摘自:http://lxw66.blog.51cto.com/5547576/1331048 rsync 帮助文档:http://man.linuxde.net/rsync 最近有个想法就是部署一 ...

  4. rsync+inotify实现数据的实时同步更新

    rsync可以实现触发式的文件同步,但是通过crontab守护进程方式进行触发,同步的数据和实际数据会有差异,而inotify可以监控文件系统的各种变化,当文件有任何变动时,就触发rsync同步,这样 ...

  5. rsync+sersync实现数据文件实时同步

    一.简介 sersync是基于Inotify开发的,类似于Inotify-tools的工具: sersync可以记录下被监听目录中发生变化的(包括增加.删除.修改)具体某一个文件或某一个目录的名字: ...

  6. rsync+inotify百万级文件实时同步

    实验环境:Centos7.4 目的:将源服务器的文件实时同步至目标服务器 源服务器:10.11.1.107 目标服务器:10.11.1.106 分别在两个节点安装rsync yum -y instal ...

  7. 使用rsync+inotify实现/www目录实时同步

    一.实现bak-server 1.1安装rsync # yum -y install rsync 1.2修改配置文件 # vi /etc/rsyncd.conf #添加下面内容 uid=test gi ...

  8. Sersync+Rsync实现触发式文件同步

    背景 通常我们在服务器上使用rsync加上crontab来定时地完成一些同步.备份文件的任务.随着业务和应用需求的不断扩大.实时性要求越来越高.一般rsync是通过校验所有文件后,进行差量同步,如果文 ...

  9. CentOS 7.2 Ubuntu 18部署Rsync + Lsyncd服务实现文件实时同步/备份

    发送端配置: 一.配置密钥 1. 主/从服务器之间启用基于密钥的身份验证.登录发送端服务器并用 " ssh-keygen " 命令生成公共或私有的密钥. 2. 使用 " ...

随机推荐

  1. spring缓存Ehcache(入门2)

    使用Ehcache缓存工具类. 一.由于使用了maven,所以需要引入依赖包: <dependency> <groupId>net.sf.ehcache</groupId ...

  2. 用Javascript获取页面元素的位置

    制作网页的过程中,你有时候需要知道某个元素在网页上的确切位置. 下面的教程总结了Javascript在网页定位方面的相关知识. 一.网页的大小和浏览器窗口的大小 首先,要明确两个基本概念. 一张网页的 ...

  3. 基于iSCSI的SQL Server 2012群集测试(三)--SQL Server 2012群集安装总结

    5.SQL Server 2012群集安装总结 5.1 群集与非群集的安装区别总结 SQL Server虚拟名称: 非群集环境下,本地服务器的名称就是SQL Server服务器名称:但在群集环境下,由 ...

  4. ubuntu安装ssh

    为了解决远程连接ubuntu服务器控制端,方便操作.ubuntu不同的版本安装方式一致!首先在ubuntu服务器下安装SSH服务linux安装命令:sudo apt-get install opens ...

  5. PHP拦截器之__set()与__get()的理解与使用

    “一般来说,总是把类的属性定义为private,这更符合现实的逻辑.但是,对属性的读取和赋值操作是非常频繁的,因此在PHP5中,预定义了两个函数“__get()”和“__set()”来获取和赋值其属性 ...

  6. MyEclipse 自动提示设置

    window --> Perferences--> General--> keys Content Assist默认的是Ctrl +space Content Assist快捷键设置 ...

  7. SQLite 数据库调研

    SQLite数据库的特点(转载的): ★技术上的优点和特性 SQLite是一个轻量级.跨平台的关系型数据库.既然号称关系型数据库,支持SQL92标准中常用的玩意儿(比如视图.事务.触发器等)就是理所当 ...

  8. JVM内存监控工具 Jvisualvm

    这个工具是官方提供的,直接在JDK工具包下的bin目录找找就可以找到,或者打开cmd直接输入"jvisualvm"即可打开该工具(配置好java环境变量). 需要在catalina ...

  9. 备份Oracle数据库的脚本

    @echo off goto bakoracle :bakoracle echo. echo ★☆★  自动备份Oracle数据库   ★☆★ echo. set backpath=E:\Oracle ...

  10. hiberante入门

    Hibernate 目前企业级应用一般均采用面向对象的开发方法,而内存中的对象数据不能永久存在,如想借用关系数据库来永久保存这些数据的话,无疑就存在一个对象-关系的映射过程.在这种情形下,诞生了许多解 ...