rsync+inotify 实现中福在线平台搭建双向实时同步

中福在线平台搭建论坛:haozbbs.com Q1446595067 安装rsync

#yum install -y xinetd

#yum install -y rsync

#vim /etc/xinetd.d/rsync

启动XINETD

#service xinetd start
Starting xinetd: [ OK ]

#chkconfig xinetd on

#netstat -tlunp |grep 873 查看端口

tcp 0 0 :::873 :::* LISTEN 8831/xinetd

配置密码文件:rsync被同步端配置

A主机上配置 再B上同步

vim /etc/rsyncd.conf

uid=root
gid=root
use chroot=no
max connections=10
log file=/home/logs/rsync/rsyncd.log
pid file=/home/logs/rsync/rsyncd.pid
lock file= /var/run/rsync.lock

[family]
path=/home/mengc
comment=prd
ignore errors
hosts allow = 你要同步到的主机地址
read only=yes
list= no

#vi ~/.ssh/known_hosts 解决ssh 无法登陆的问题

#getenforce(查看selinux状态)
#setenforce 0(修改为允许模式)
最后记得修改配置文件/etc/sysconfig/selinux,要不然下次重启会回退。https://blog.csdn.net/baiwz/article/details/32339049

[[email protected] mengc]# /usr/local/bin/inotifywait -mrp -- timefmt --timefmt ‘%Y/%m/%d-%H:%M:%S‘ --format ‘%T %w %f‘ -e modify,create,delete,attrib /home/mengc
/usr/local/bin/inotifywait: error while loading shared libraries: libinotifytools.so.0: cannot open shared object file: No such file or directory

有很多的so会存放在/usr/local/lib这个目录底下,去这个目录底下找,果然发现自己所需要的.so文件。

所以,在/etc/ld.so.conf中加入/usr/local/lib这一行,保存之后,再运行:/sbin/ldconfig –v更新一下配置即可。

11主机上配置

uid=root
gid=root
use chroot=yes
max connections=10
log file=/home/logs/rsync/rsyncd.log
pid file=/home/logs/rsync/rsyncd.pid
lock file=/var/run/rsync.lock

[family11]
path=/home/work/local/webapps/webapp-family/
comment=family11
ignore errors
hosts allow = IP
read only=false
list=no

在12主机上同步 /usr/bin/rsync -avptgo --delete --progress /home/work/local/webapps/webapp-family [email protected]::family11

配置inotify

[[email protected] software]# cd inotify-tools-3.13
[[email protected] inotify-tools-3.13]# ls
aclocal.m4 AUTHORS ChangeLog config.guess config.h.in config.sub configure configure.ac COPYING depcomp INSTALL install-sh libinotifytools ltmain.sh Makefile.am Makefile.in man missing NEWS README src
[[email protected] inotify-tools-3.13]# ./configure

[[email protected] inotify-tools-3.13]# make && make install

#!/bin/sh
/usr/local/bin/inotifywait -mrq --timefmt ‘%Y/%m/%d-%H:%M:%S‘ --format ‘%T %w%f%e‘ -e modify,create,delete,attrib /home/work/local/webapps/webapp-family | while read date time dir file;do

/usr/bin/rsync -avptgo --delete --progress /home/work/local/webapps/webapp-family [email protected]::family12
done

nohup sh /home/work/local/webapps/inotify.sh &

--使用nohup挂起到后台执行,终端关闭,这个进程也不会被关闭

原文地址:http://blog.51cto.com/13856963/2137565

时间: 2024-10-18 18:01:18

rsync+inotify 实现中福在线平台搭建双向实时同步的相关文章

使用rsync + inotify 实现多台游戏服代码自动实时同步

一 应用场景描述 在LB后端有多台游戏服运行PHP代码,每台服务器的环境部署一样,PHP代码一样.现在有时需要更改游戏配置文件,如更改各个区服的开服状态等.登陆到每台服务器去更改相应的文件会比较繁琐,需要当在第一台服务器上的配置文件作更改时,其他服务器上的配置文件自动更改.于是考虑可以使用rsync + inotify的方式来同步代码. 二 rsync和inotify配置 使用yum -y install rsync安装rsync服务 rsync有两种工作模式,命令行模式和C/S模式 使用man

(转)Linux下通过rsync与inotify(异步文件系统事件监控机制)实现文件实时同步

Linux下通过rsync与inotify(异步文件系统事件监控机制)实现文件实时同步原文:http://www.summerspacestation.com/linux%E4%B8%8B%E9%80%9A%E8%BF%87rsync%E4%B8%8Einotify%E5%BC%82%E6%AD%A5%E6%96%87%E4%BB%B6%E7%B3%BB%E7%BB%9F%E4%BA%8B%E4%BB%B6%E7%9B%91%E6%8E%A7%E6%9C%BA%E5%88%B6%E5%AE%9E

利用unison+inotify 实现数据双向实时同步

利用unison+inotify 实现数据双向实时同步 环境:Centos 6.5 64位 server1 :192.168.1.201 server2 :192.168.1.250 需求软件:ocaml unison inotify 我这里全是使用yum安装的,若是喜欢使用源码编译安装的可以官网下载源码包. yum install ocaml unison inotify 第一步:保证两台服务器之间可以通过ssh无密码访问,为了安全,需要创建一个普通用户: 两边执行的步骤一样: useradd

rsync+inotify实现对web服务器上的文件自动同步

rsync: rsync是一个远程同步工具,非常强大的一款工具,在同步时可以保持文件的权限,属性,硬链接等,通过"rsync算法"来实现本地和远程主机的数据同步,并且是扫描两个主机之间不同的文件来进行传输,而不是整份的传输,因此速度相当快.但是随着系统规模的越来越大,rsync暴露出很多不足. 首先,rsync同步数据时,需要扫描所有文件后进行比对,进行差量传输.如果文件数量达到了百万甚至千万量级,扫描所有文件将是非常耗时的.而且正在发生变化的往往是其中很少的一部分,这是非常低效的方式

rsync unison+inotify双向实时同步

rsync多线程同步 A:文件服务器 ip:10.10.1.10 B:备份服务器 ip:10.10.1.11 1.在B服务器上安装rsync软件 tar xzvf rsync-3.1.0.tar.gz cd rsync-3.1.0 ./configure make make install 2.配置双机ssh信任 在两台服务器的root目录下创建.ssh目录并设置正确的权限 mkdir ~/.ssh chmod 700 ~/.ssh 使用ssh-keygen命令生成SSH协议的RSA密钥 ssh

rsync+lsyncd实现(本地以及远程)文件实时同步

lsyncd基于lua语言开发,整合了rsync和notify 实现文件的实时同步 系统环境  cat /etc/issue CentOS release 6.6 (Final)  uname -sr Linux 2.6.32-504.el6.x86_64 服务器规划 rsync服务器:                   192.168.10.241 rsync + lsyncd服务器 :         192.168.10.231 一.配置rsync服务器 1.配置xinetd来管理rsy

UNISON+inotify数据的双向实时同步

UNISON安装部署手册 操作系统:SUSE12 安装包:inotify-tools-3.13.tar.gz  ocaml-4.02.0.tar.gz   unison-2.48.4.tar.gz 主机:FH-UMP-PORTAL1  192.168.1.181 FH-UMP-PORTAL2  192.168.1.182 登录用户/密码:root/123456 配置文件:/root/.unison/default.prf Unison双向同步基本原理是:假如有A B两个文件夹,A文件夹把自己的改

rsync简介与rsync+inotify配置实时同步数据

rsync简介 rsync是linux系统下的数据镜像备份工具.使用快速增量备份工具Remote Sync可以远程同步,支持本地复制,或者与其他SSH.rsync主机同步. rsync特性 rsync支持很多特性: 可以镜像保存整个目录树和文件系统 可以很容易做到保持原来文件的权限.时间.软硬链接等等 无须特殊权限即可安装 快速:第一次同步时rsync会复制全部内容,但在下一次只传输修改过的文件.rsync在传输数据的过程中可以实行压缩及解压缩操作,因此可以使用更少的带宽 安全:可以使用scp.

企业实时同步方案----Rsync+Inotify-Tools

在博文RHCE系列之备份工具----镜像备份Rsync中,我带大家了解 rsync 的诸多特性以及它所支持的四种模式.作为一个镜像备份工具,可以说 rsync 做的很出色. 可是,随着应用系统规模的不断扩大,我们对数据的安全性和可靠性方面的需求也越来越高!Rsync 在高端业务系统中的不足也逐渐暴露了出来. 首先,rsync 在同步数据时,需要扫描所有文件后才进行比对,然后再进行差量传输.如果文件数量达到了百万甚至千万量级,扫描所有文件将是非常耗时的一个操作,并且往往发生变化的是其中很小的一部分