rsync-Inotify文件数据实时同步
来源:互联网 发布:外汇平台 知乎 编辑:程序博客网 时间:2024/06/01 07:33
*简单说明
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.motdtransfer logging = yeslog file = /var/log/rsyncd.logpid file = /var/log/rsyncd.pidlock file = /var/log/rsyncd.lockport = 873 #监听端口address = 192.168.0.5 #监听地址uid = root #注意此处用户与用户组,同步时可能遇到用户权限问题导致同步异常gid = rootuse 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 ACLhosts 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/shSRC=/BACKUP/DEST1=/TESTIP1=192.168.0.5IP2=192.168.0.6rsyncUser=rootpassfile=/etc/rsync.pass[ ! -e $passfile ] && exit 2inotifywait -mrq --timefmt '%y-%m-%d %H:%M:%S' --format '%T %w%f %e' --event modify,create,move,delete,\attrib $SRC | while read linedoecho "$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/nulldone
- rsync-Inotify文件数据实时同步
- rsync+inotify文件实时同步
- Rsync+inotify文件实时同步
- rsync+inotify文件实时同步
- rsync与inotify实时同步备份数据
- Rsync + inotify 实现数据的实时同步
- inotify + rsync实现linux文件实时同步
- inotify + rsync 实现 linux 文件实时同步
- Linux下Inotify + Rsync文件实时同步
- rsync+inotify搭建实时同步文件
- rsync+inotify搭建实时同步文件
- rsync+inotify实现文件实时同步
- inotify+rsync实现文件实时同步
- Linux 下 inotify+rsync 文件实时同步
- rsync inotify 实时同步
- rsync+inotify实时同步
- rsync+ inotify实时同步
- Rsync+Inotify实时同步
- 大道至简——你比你想象中更早接触微服务
- 设计模式---单例模式
- Hrbust 1212 乘积最大【Dp+bignumber】恶心题....
- 异常用户发现(Spark MLlib+Spark SQL+DataFrame)
- ctfIDF实验室古老的邮件编码问题
- rsync-Inotify文件数据实时同步
- 常用的Android5.0的新特性--RecyclerView
- 网络编程
- 结构体与共用体
- Glide动态加载圆形图片和圆角图片
- C/S与B/S应用程序的比较
- spring cloud教程之使用spring boot创建一个应用
- 异常处理--“System.BadImageFormatException”类型的未经处理的异常在 DataTest.exe 中发生
- 在opencv中为程序界面添加Trackbar