rsycn+inotify实时网络数据镜像备份

inotify简介:

inotify是一个文件系统监控机制,是一个内核特性,它监控文件系统的操作如:读取,写入,和创建以及删除。对文件的变化反应灵敏,且使用简单,所以这是一个很好的自动化检测数据变化的工具。

从上面的一段简介中我们可以看出inotify就是一个内核文件监控工具,实时监控着数据的变化,而对于rsync来说这是莫大的一个帮助,因为在之前要触发rsync数据镜像同步,我们是使用crond来指定时间执行rsync,虽然这样做到了数据的镜像同步备份,但是有一个缺点就是当两次触发rsync时的时间段里发生数据丢失,那么那部分丢失的数据可想而知。。。

所以现在我们可以将rsync结合inotify来一起使用,当数据发生变化,可以通过inotify监控立即反应并触发rsync,就可以达到数据的实时镜像同步备份。流程大致如下:

inotify的安装

首先要内核的支持

查看内核是否是2.6.13版本或以上,否则升级内核

[[email protected] ~]# uname -r

3.10.0-514.26.2.el7.x86_64

yum install inotify

inotify两个指令:

inotifywait 可以监控文件以及目录设置,监控事件。

inotifywatch 收集监控统计数据,如监控事件次数等。

##详细命令加-h查看

接下来以两台服务器做示范

京东云主机为A IP :  AAA.AAA.AAA.AAA

阿里云主机为B IP :  BBB.BBB.BBB.BBB

使用B的数据为基准实时同步到A机上

A

在A机器上设置rsync.conf
[[email protected] ~]# cat /etc/rsyncd.conf 
 uid = nobody
 gid = nobody
 use chroot = no
 max connections = 4
 pid file = /var/run/rsyncd.pid
 [XAD]
        path = /root/testrsync
        comment = xadsrc file
read only = no
write only = no
hosts allow = *
uid = root
gid = root
auth users = backup
secrets file = /etc/server.pass
[[email protected] ~]# cat /etc/server.pass 
backup:xad123
[[email protected] ~]# ll /etc/server.pass 
-rw------- 1 root root 14 Sep 23 22:05 /etc/server.pass
[[email protected] ~]# [[email protected] ~]#/usr/bin/rsync --daemon
[[email protected] ~]# echo "/usr/bin/rsync --daemon" >> /etc/rc.local ##开启守护进程

B

[[email protected] ~]# cat /etc/client.pass 
xad123
[[email protected] ~]# ll /etc/client.pass 
-rw------- 1 root root 7 Sep 23 22:07 /etc/client.pass
在B上通过执行后台shell脚本来却保rsync+inotify的工作协调。

[[email protected] ~]# cat rsync_inotify.sh
#!/bin/bash
/usr/bin/inotifywait -mrq --timefmt ‘%d/%m/%y %H:%M‘ --format ‘%T %w%f%e‘ -e close_write,delete,create,attrib /root/rsynctest/ | while read data_change
do /usr/bin/rsync  -vzrtopg --delete --progress --password-file=/etc/client.pass /root/rsynctest/  [email protected]::XAD 
           echo "${data_change} was rsync" >> /var/log/rsync.log   2>&1
done
[[email protected] ~]# chmod +x rsync_inotify.sh 
[[email protected] ~]# echo "/root/rsync_inotify.sh &" >> /etc/rc.local

测试B中创建文件,A中查看

[[email protected] rsynctest]# touch test
[[email protected] rsynctest]# ll
total 0
-rw-r--r-- 1 root root 0 Sep 25 11:26 test

[[email protected] testrsync]# ll
total 0
-rw-r--r-- 1 root root 0 Sep 25 11:26 test

查看日志

[[email protected] rsynctest]# cat /var/log/rsync.log 
25/09/17 11:26 /root/rsynctest/testCREATE was rsync
25/09/17 11:26 /root/rsynctest/testATTRIB was rsync
25/09/17 11:26 /root/rsynctest/testCLOSE_WRITE,CLOSE was rsync
时间: 2024-10-19 17:25:49

rsycn+inotify实时网络数据镜像备份的相关文章

rsync + inotify 实时同步数据

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

Centos+Serync+inotify实时同步数据文件-任志远

【运维小实验】数据镜像备份实验inotify+rsync实时备份

数据镜像备份实验inotify+rsync实时备份 本文是基于VM搭建的虚拟集群环境,全部虚拟机网卡模式为NAT方式相连,处于同一网段. 搭建环境: 使用redhead 2.6.32-431.el6.x86_64版本的linux,创建两台,配置相关网络信息,确保同一网段下. 安装配置rsync+inotify Rsync一般系统默认安装了,如果没有安装的去相关网站下载安装包解压安装即可 Inotify登陆https://github.com/rvoicilas/inotify-tools/wik

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

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

烂泥:rsync与inotify集成实现数据实时同步更新

本文首发于烂泥行天下. 上篇文章我们介绍了如何使用rsync同步文件,这篇文章我们再来介绍下,如何把rsync与inotify集成实现数据的实时同步. 要达到这个目的,我们需要分以下几个步骤: 1.rsync的优点与不足 2.inotify是什么 3.检测OS是否支持inotify 4.inotify相关参数详解 5.inotify监控的文件事件类似 6.inotify-tools是什么 7.安装inotify-tools 8.inotifywait使用详解 9.inotifywatch使用详解

rsync+inotify实时数据同步单目录实战

rsync+inotify实时数据同步单目录实战 inotify是一个强大的.细粒度的.异步的文件系统事件监控机制,linux内核从2.6.13起加入了inotify支持,通过inotify可以监控文件系统中添加.删除.修改.移动等各种事件,利用这个内核接口,第三方软件可以监控文件系统下文件的各种变化情况,而inotify-tools正是实施监控的软件. inotify配置是建立在rsync服务基础上的配置过程 操作系统 主机名 网卡eth0 默认网关 用途 [email protected]

rsync+inotify实时数据同步多目录实战

rsync+inotify实时数据同步多目录实战 inotify配置是建立在rsync服务基础上的配置过程 操作系统 主机名 网卡eth0 默认网关 用途 [email protected] 192.168.1.111 192.168.1.1 Rsync服务端 [email protected] 192.168.1.121 192.168.1.1 Rsync 节点 子网掩码均为255.255.255.0 具体需求: 要求在58server1上以rsync守护进程的方式部署rsync服务,使得[e

rsync与inotify集成实现数据实时同步更新

本文转载:http://ilanni.blog.51cto.com/526870/1605200 把rsync与inotify集成实现数据的实时同步. 要达到这个目的,我们需要分以下几个步骤: 1.rsync的优点与不足 2.inotify是什么 3.检测OS是否支持inotify 4.inotify相关参数详解 5.inotify监控的文件事件类似 6.inotify-tools是什么 7.安装inotify-tools 8.inotifywait使用详解 9.inotifywatch使用详解

rsync+inotify实时数据的同步实例

rsync+inotify实时数据的同步 一.rsync+inotify的组合为什么会出现?? rsync缺陷: 1.由于rsync在实施大量数据备份时,工作方式是扫描整个数据文 件,其实发生更改  的只是一小部分,导致过多的占用系统资源.                2.rsync不能实时的去监测.同步数据,虽然它可以通过linux守护进程的方式进行触发同步,但是两次触发动作一定会有时间差,这样就导致了服务端和客户端数据  可能出现不一致,无法在应用故障时完全的恢复数据. inotify优点