使用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. corntab

    http://www.cnblogs.com/peida/archive/2013/01/08/2850483.html

  2. R笔记1

    gsub format > measurements<-c('3.95*3.99*2.43mm','3*3*5mm','2*2*2mm') > measurements [1] &q ...

  3. Ruby学习之module

    我们可以认为module是一个专门存放一系列方法和常量的工具箱. module和class非常像, 只是module不能创建实例也不能有子类, 它们仅仅能存放东西. 例如: module Circle ...

  4. HDOJ 1711 Number Sequence

    Number Sequence Time Limit: 10000/5000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) ...

  5. CodeForces 55D Beautiful numbers

    D. Beautiful numbers time limit per test 4 seconds memory limit per test 256 megabytes input standar ...

  6. ACdream1063——平衡树

    1.题目大意:让你设计一种数据结构,支持插入一个数,和在这个结构里查询结构中的哪个数和给定的数的异或值最小 2.分析:这个怎么做呢,就是trie树,我们建立一个trie树,把树按01进制存进去,然后在 ...

  7. Android学习笔记(八)——四种基本布局

    //此系列博文是<第一行Android代码>的学习笔记,如有错漏,欢迎指正! 布局是一种可用于放置很多控件的容器,它可以按照一定的规律调整内部控件的位置,或是嵌套子布局,从而编写出精美的界 ...

  8. 谈谈jQuery之绑定事件

    http://www.jiangweishan.com/article/jQuery-bind-on.html $.extend({ hook:function(hookName){ var sele ...

  9. iOS设计中的“代理”

    “代理”--在iOS的开发设计中是一个非常重要的概念,同时又是十分基础的知识.所以,掌握“代理”势在必行! 以下,结合一个具体的例子,详细认识“代理”: 1, 图例解释: ①:定义两个文本输入框UIT ...

  10. STL next_permutation和prev_permutation函数

    利用next_permutation实现全排列升序输出,从尾到头找到第一个可以交换的位置, 直接求到第一个不按升序排列的序列. #include <iostream> #include & ...