CentOS6.5实现rsync+inotify实时同步

1.架构

服务器端:192.168.202.135

客户端:192.168.202.129

2.rsync服务器端安装配置

yum install rsync -y    #安装rsync服务

为rsync服务提供配置文件:

vim /etc/rsyncd.conf    #文件默认不存在,添加以下内容

uid = root    #启动服务进程的用户
gid = root    #启动服务进程的用户组
port = 873    #以守护进程启动rsync服务时监听的端口号
hosts allow = 192.168.202.0/24    #允许哪些客户端能够连接服务
max connections = 0    #指定该服务的最大并发连接数,为0表示不限制
timeout= 300    #指定超时时间

pid file = /var/run/rsyncd.pid    #pid文件路径
lock file = /var/run/rsync.lock    #锁文件路径
log file = /var/log/rsyncd.log    #日志文件路径

[backup]    #模块声明
path =/rsync/test    #指定当前模块在rsync服务器上的同步路径,该参数是必须指定的
read only = no    #是否允许客户端上传文件
list = no    #当客户请求列出可以使用的模块列表时,该模块是否应该被列出
auth users = rsync    #指定由空格或逗号分隔的用户名列表,只有这些用户才允许连接该模块
secrets file = /etc/rsync.passwd    #保存密码和用户名文件,需要自己生成

设置密码文件:

vim /etc/rsync.passwd    #添加以下内容

rsync:123456

chmod 600 /etc/rsync.passwd    #修改密码文件权限为600

注:当配置文件中参数strict modes为true时,rsync认证口令文件的权限一定是600,否则客户端将不能连接服务器。rsync认证口令文件中每一行指定一个 用户名:口令 对,格式为:username:passwd。

启动rsync服务并设置开机自启动:

/usr/bin/rsync --daemon    #以守护进程方式启动rsync服务
echo "/usr/bin/rsync --daemon">>/etc/rc.local    #添加开机自启动

3.rsync客户端安装与配置

安装inotify-tools:

在安装inotify-tools前请先确认你的linux内核是否达到了2.6.13,并且在编译时开启了CONFIG_INOTIFY选项,也可以通过以下命令检测,如果出现以下输出,说明支持:

[[email protected] ~]# ls /proc/sys/fs/inotify/
max_queued_events  max_user_instances  max_user_watches

安装:

wget http://cloud.github.com/downloads/rvoicilas/inotify-tools/inotify-tools-3.14.tar.gz 
tar xvf inotify-tools-3.14.tar.gz  
cd inotify-tools-3.14  
./configure  
make;make install

编写rsync.sh监控脚本:

#!/bin/bash
host=192.168.202.135
src=/data/www/
des=backup
user=rsync

/usr/local/bin/inotifywait -mrq --timefmt ‘%d/%m/%y %H:%M‘ --format  ‘%T %w%f‘  -e modify,delete,create,attrib ${src} | while read  file
        do
                rsync -vzrtopg --delete --progress ${src} ${user}@${host}::${des} --password-file=/etc/www.pwd &&
                echo "${files} was rsynced" >> /tmp/rsync.log 2>&1
                echo "---------------------------------------------------------------------------"
        done

建立认证文件(客户端认证文件只用加入密码即可)并后台运行rsync.sh脚本:

echo ‘rsync‘ >> /etc/www.pwd
chmod 600 /etc/ww.pwd
nohup sh /root/rsync.sh &  
echo "nohup sh /root/rsync.sh &" >> /etc/rc.local

参考资料:

rsync服务器的安装与配置:http://www.cnblogs.com/mchina/p/2829944.html

rsync+inotify实现文件批量更新:http://kerry.blog.51cto.com/172631/734087/

rsync+inotify实现数据实时备份:

http://blog.chinaunix.net/xmlrpc.php?r=blog/article&uid=11840697&id=3890795

时间: 2024-10-29 19:11:51

CentOS6.5实现rsync+inotify实时同步的相关文章

rsync+inotify实时同步环境部署记录

随着应用系统规模的不断扩大,对数据的安全性和可靠性也提出的更好的要求,rsync在高端业务系统中也逐渐暴露出了很多不足.首先,rsync在同步数据时,需要扫描所有文件后进行比对,进行差量传输.如果文件数量达到了百万甚至千万量级,扫描所有文件将是非常耗时的,并且正在发生变化的往往是其中很少的一部分,这是非常低效的方式.其次,rsync不能实时的去监测.同步数据,虽然它可以通过linux守护进程的方式进行触发同步,但是两次触发动作一定会有时间差,这样就导致了服务端和客户端数据可能出现不一致,无法在应

rsync+inotify实时同步方案

rsync+inotify实时同步,inotify可以实时监控本地文件或目录变化,当检测到本地文件变化,执行rsync同步命令,将变化的文件同步到其他服务器节点. 1.配置环境 3.在服务节点1.服务节点2.内容发布节点,都安装rsync软件:在内容发布节点再安装inotify实时监控软件.安装步骤建上篇. 4.编辑同步脚本 #!/bin/bash/usr/local/inotify/bin/inotifywait -mrq --timefmt '%d/%m/%y' --format '%T %

rsync+inotify实时同步案例

rsync+inotify实时同步案例 随着应用系统规模的不断扩大,对数据的安全性和可靠性也提出的更好的要求,rsync在高端业务系统中也逐渐暴露出了很多不足,首先,rsync同步数据时,需要扫描所有文件后进行比对,进行差量传输.如果文件数量达到了百万甚至千万量级,扫描所有文件将是非常耗时的.而且正在发生变化的往往是其中很少的一部分,这是非常低效的方式.其次,rsync不能实时的去监测.同步数据,虽然它可以通过linux守护进程的方式进行触发同步,但是两次触发动作一定会有时间差,这样就导致了服务

rsync远程同步及rsync+inotify实时同步

rsync远程同步及rsync+inotify实时同步 思维代入 正确.有效的备份方案是保障系统及数据安全的重要手段.在服务器中,通常会结合计划性任务.shell脚本来执行本地备份.但有时候为了提高备份的可靠性,异地备份也是非常有必要的.那下面就给大家介绍一种异地远程备份的方法:rsync远程备份. rsync简介 rsync是一个开源的快速备份工具,可以在不同主机之间镜像同步整个目录树,支持增量备份.保持链接和权限,且采用优化的同步算法,在传输前执行压缩,因此非常适用于异地备份.镜像服务等应用

配置rsync+inotify实时同步

配置rsync+inotify实时同步Linux从2.6.13版内核开始提供了inotify通知接口,用来监控文件系统的各种变化情况,如文件的存取,删除,移动,修改内容及属性等.利用这个机制,可以实现文件异动警告,增量备份,针对目录或文件的变化及时做出响应. 将inotify机制与rsync工具结合,可以实现触发式备份(实时同步),只要原始位置的文档发生变化,则立即启动增量备份,否则处于静默等待状态,避免了按固定周期备份是存在的延迟性,周期过密等问题. 正因为inotify通知机制有Linux内

rsync+inotify实时同步

一.Rsync简介: rsync是一个远程数据同步工具,可通过lan/wan快速同步多台主机间的文件.它使用所谓的"rsync演算法"来使本地和远程两个主机之间的文件达到同步,这个算法只传送两个文件的不同部分,而不是每次都整份传送,因此速度相当快.所以通常可以作为备份工具来使用. 运行rsync server的机器也叫backup server,一个rsync server可同时备份多个client的数据:也可以多个rsync server备份一个client的数据.rsync可以搭配

rsync+inotify实时同步环境部署

rsync 作用: 实现文件的备份 备份位置可以是当前主机,也可以是远程主机 备份过程可以是完全备份,也可以是增量备份 功能: 1.类似于cp的复制功能 将本地主机的一个文件复制到另一个位置下. 2.将本地主机的文件推送到远程主机,也可以从远程主机拉取文件到本地. 3.显示文件列表 使用模式 shell模式 本地复制功能 远程shell模式 可以利用ssh来实现数据的加密到远程主机 守护进程(服务器模式) rsync工作在守护进程模式下 列表模式 ls 仅仅显示内容,不做操作 确保各个主机的时间

Centos6安装配置rsync+inotify实时单向同步

实验环境: Server : 192.168.9.109  rsync+inotify WEB1:192.168.9.106   rsync server WEB2:192.168.9.104   rsync server Server为分发机,有内容更新则推送rsync server 注:也可以WEB到Server拉取数据 (1)Server下载安装rsync+inotify 下载安装rsync #wget https://download.samba.org/pub/rsync/rsync-

rsync + inotify 实时同步数据

简介 Rsync (remote sync)是一款开源.快速,多功能.可实现增量的本地或远程数据镜像同步备份优秀工具.它可通过 LAN/WAN 快速同步多台主机间的文件.rsync 当前由 rsync.samba.org 维护.rsync 使用所谓的"rsync演算法"来使本地和远程主机之间的文件达到同步,该算法只传送两个文件中的不同部分,而不是每次都整份传送,因此速度相当快. 特点:   1.可以镜像保存整个目录树或文件系统:   2.可实现增量同步,既只同步发生变化的数据,因此数据