rsync-Inotify文件数据实时同步

*简单说明
rsync:
文件复制工具,可以支持远程之间数据压缩后高效传输
Inotify:
为用户态程序提供了文件系统事件通告机制,目前已经集成到内核中
Inotify-tools:
就是提供的用户态监控文件系统的工具,用来实现对文件系统的实时监控。

**注意
(1)安装Inotify-tools后需要使用ldconfig 加载动态模块;
(2)在客户端出现denied显现是多数是用户权限出问题了;
(3)理解“模块”,就是rsyncd.conf中[ ]中的名称;
(4)在实时检测到信息后就应该触发同步机制;
(5)同步数据方案的安全性、完整性;

此案例是解决集群中多台实际应用服务器(real app server)的数据一致性问题
1、安装rsync
编译安装与yum源安装均可,服务端和客户段使用yum
yum install rsync

2、服务端配置
(1)创建同步数据的目录
mkdir /TEST
(2)手动创建配置文件 vi /etc/rsyncd.conf

motd file = /etc/rsyncd.motd
transfer logging = yes
log file = /var/log/rsyncd.log
pid file = /var/log/rsyncd.pid
lock file = /var/log/rsyncd.lock
port = 873  #监听端口
address = 192.168.0.5 #监听地址
uid = root #注意此处用户与用户组,同步时可能遇到用户权限问题导致同步异常
gid = root
use chroot = yes #是否使用根目录重定向
read only = no  #对模块中定义的目录是否只具有可权限
max connections = 5
[shareCommonDir] #模块名称定义,在同步路径中使用
comment = rsynchrounous dir  #提示信息
path = /TEST #模块的实际路径
ignore errors #忽略IO错误
exclude = KingRedfly/  #添加例外路径 
auth users = root #认证的用户
secrets file = /etc/rsyncd.secrets #用户与密码认证文件
hosts allow=192.168.0.6/24  192.168.0.5/24  1.1.1.5/24 1.1.1.6/24 127.0.0.1/24 ACL
hosts deny=*
list = false 

(3)其他配置
用户与密码文件
echo “wanghongfei:wanghongfei”>/etc/rsyncd.secrets
用户与密码文件权限,在客户段中密码文件权限如果设置错误(如不是600而是777则提示错误)
chmod 600 /etc/rsyncd.secrets
欢迎信息
echo “Welcome to Demo”>/etc/rsyncd.motd
设置开机时,rsync以守护进程方式运行
echo “/usr/bin/rsync –daemon”>>/etc/rc.local
防火墙配置注意通过主配置文件中的监听端口和地址配置访问策略

3、客户段设置
(1)安装Inotify-tools
确认已安装rsync,通过编译安装方式安装Inotify-tools
地址:https://github.com/rvoicilas/inotify-tool
(2)编写自动同步脚本
当客户段(发布数据,向所有real Server发布数据),保证数据同步

vi /inotify_rsync.sh
#!/bin/sh
SRC=/BACKUP/
DEST1=/TEST
IP1=192.168.0.5
IP2=192.168.0.6
rsyncUser=root
passfile=/etc/rsync.pass
[ ! -e $passfile ] && exit 2
inotifywait -mrq --timefmt '%y-%m-%d %H:%M:%S' --format '%T %w%f %e' --event modify,create,move,delete,\
attrib $SRC | while read line
do
echo "$line">/dev/null 2>/dev/null
/usr/bin/rsync -aptogzv --delete --progress --password-file=$passfile $SRC $rsyncUser@${IP1}::shareCommonDir >>/var/log/inotity.log  2>/dev/null
done
  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值