实时同步inotify+rsync的简单部署

第1章 部署数据监控服务(inotify)
1.安装inotify软件(检查是否安装)
yum install inotify-tools -y
---基于epel源(/etc/yum.repos.d/ 源文件保存目录)
2.应用inotify软件
/usr/bin/inotifywatch --- 实现数据变化统计命令,在实际工作中没有什么用处
/usr/bin/inotifywait ---实现数据实时监控命令(重要)
语法格式: 命令 参数 事件 监控目录
简单监控命令:
inotifywait -mrq /data/ ---实现数据监控最重要的三个参数
详细监控命令:
inotifywait -mrq --timefmt "%F" --format "%T %w%f 事件信息:%e" /data/
相关参数:
-m --monitor ---始终保持监视状态,默认对目录只监视一次
-r ---表示进行递归监控(目录1/目录2/目录3)
-q --quiet ---将无用的信息不要输出到屏幕上 &>/dev/null
--timefmt <fmt> ---时间格式信息(date)
--format ---输出内容的格式信息
-e ---指定监控的事件信息(如果不指定此参数,表示所有事件都监控)

常见监控命令:
inotifywait -mrq --format "%w%f" -e create,close_write,delete,moved_to /data
不加事件格式信息,主要显示时间信息以及操作的内容信息
1.1 触发事件解析

  1. 重命名一个文件,会触发什么事件?
    重命名时监控到的信息:
    2018-05-09 /data/file01 事件信息:MOVED_FROM
    2018-05-09 /data/file10 事件信息:MOVED_TO
  2. sed命令替换文件信息原理过程
    2018-05-09 /data/file10 事件信息:OPEN
    2018-05-09 /data/sedRSK9Gs 事件信息:CREATE
    2018-05-09 /data/sedRSK9Gs 事件信息:OPEN
    2018-05-09 /data/file10 事件信息:ACCESS
    2018-05-09 /data/sedRSK9Gs 事件信息:MODIFY
    2018-05-09 /data/sedRSK9Gs 事件信息:ATTRIB
    2018-05-09 /data/sedRSK9Gs 事件信息:ATTRIB
    2018-05-09 /data/file10 事件信息:CLOSE_NOWRITE,CLOSE
    2018-05-09 /data/sedRSK9Gs 事件信息:CLOSE_WRITE,CLOSE
    2018-05-09 /data/sedRSK9Gs 事件信息:MOVED_FROM
    2018-05-09 /data/file10 事件信息:MOVED_TO
    第2章 部署rsync守护进程模式
    服务端部署:
    01.检查软件是否安装
    02.编写配置文件
    03.创建虚拟用户
    04.创建备份目录,进行授权
    05.创建密码认真文件,授权为600
    06.启动rsync守护进行服务
    客户端部署:
    01.检查软件是否安装
    02.创建密码文件,并进行授权
    03.进行数据推送测试
    rsync -avz /etc/hosts [email protected]::backup --password-file=/etc/rsync.password
    第3章 利用脚本将inotify与rsync服务进行结合
    #!/bin/bash
    inotifywait -mrq --format "%w%f" -e create,close_write,delete,moved_to /data/|\
    while read line
    do
    rsync -az --delete /data/ [email protected]::backup --password-file=/etc/rsync.password
    done
    第4章 循环方法总结
  3. for循环
    指定一个循环条件范围,最终会结束
  4. while循环
    指定一个循环条件,当条件满足时(为真),就会一直循环下去(死循环)
  5. until循环
    指定一个循环,当条件不满足时(为假),就会一直循环下去(死循环)
    第5章 暂停中进程的停用总结
    ctrl+z ---暂停一个运行中的脚本进程
    kill killall pkill --- 可以杀死一个暂停的进程
    pkill -f "inotify.sh" --- -f参数表示把进程中参数信息也定义为进程名
    kill -9 进程号 --- 肯定可以杀死一个暂停的进程;慎用,因为kill -9 杀进程,可能造成服务无法再次运行
    jobs --- 显示在后台运行的进程或暂停的进程信息
    [1]+ Stopped sh -x inotify.sh
    fg 1 --- 将后台运行的进程放在前台执行,恢复一个暂停进程继续运行
    bg 后台
    fg 前台
    sh /server/scripts/inotify.sh & 执行脚本在后台运行
    让脚步程序在后台运行的方法:
    1. sh inotify.sh &
    2. nohup sh inotify.sh &
    3. 思考:screen命令,实现脚步后台运行

原文地址:http://blog.51cto.com/12394359/2158559

时间: 2024-10-10 13:28:37

实时同步inotify+rsync的简单部署的相关文章

企业实时同步方案----Rsync+Sersync

在博文企业实时同步方案----Sersync介绍中我们详细介绍了Sersync的原理,设计架构以及和 Inotify 等等的优势区别.这里我就带大家一起来做一下 Rsync +Sersync 这个同步分发架构案例. 实验环境介绍: 内核版本:2.6.32-431.el6.x86_64 系统采用最小化安装,系统经过了基本优化,selinux为关闭状态,iptables为无限制模式 源码包存放位置:/root Rsync客户端+Sersync服务器(SERSYNC),承担角色MASTER,IP:17

linux 实时同步inotify

#实时同步inotify 1.inotify简介inotify是一种强大的,细腻度的,异步的文件系统事件监控机制,linux内核从2.6.13起,加入了inotify支持,通过INOTIFY可以监控文件系统中添加.删除.修改.移动等各种事件,利用这个内核接口,第三方软件就可以监控文件系统下文件的各种变化情况,而inotify-tloos就是实施这样监控的软件. 2.inotify实施检查rsync daemon服务是否服务正常,可以推送数据实施同步ps -ef |grep rsync|grep

Linux系统实时数据同步inotify+rsync

一.inotify简介 inotify是Linux内核的一个功能,它能监控文件系统的变化,比如删除.读.写和卸载等操作.它监控到这些事件的发生后会默认往标准输出打印事件信息.要使用inotify,Linux内核版本必须是大于2.6.13,在这之前的内核都没有这个功能.我们可以利用inotify去监控我们要监控的资源,当资源发生变化时,我们扑捉它的事件,从而触发同步数据等操作. 二.inotify软件介绍 inotify是内核的一个功能,众所周知内核的功能我们必须要配合工具才能使用,通常情况下用户

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

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

inotify+rsync及sersync部署流程

inotify+rsync部署流程: 第一步:完成部署rsync守护进程服务 第二步:确认inotify软件是否安装扩展yum源(扩展的仓库):epel(企业级linux的yum源的扩展仓库)? 阿里云epel源:通过访问阿里yum源镜像地址获取? 直接安装epel源方式:yum install epel-releaseyum install inotify-tools -y/usr/bin/inotifywait --- 开启实时监控服务,监控目录或文件的数据变化/usr/bin/inotif

inotify和rsync实现数据实时同步

数据的实时同步 ?实现实时同步 ?要利用监控服务(inotify),监控同步数据服务器目录中信息的变化 ?发现目录中数据产生变化,就利用rsync服务推送到备份服务器上 ?实现实时同步的方法 ?inotify+rsync 方式实现数据同步 ?sersync :金山公司周洋在 inotify 软件基础上进行开发的,功能更加强大 ?inotify: 异步的文件系统事件监控机制,利用事件驱动机制,而无须通过诸如cron等的轮询机制来获取事件,linux内核从2.6.13起支持 inotify,通过in

Linux服务器集群架构部署搭建(三)NFS文件系统、SSH、批量分发管理、实时同步(2)

命运是大海,当你能够畅游时,你就要纵情游向你的所爱,因为你不知道狂流什么会到来,卷走一切希望与梦想. 作者:燁未央_Estelle声明:测试学习,不足之处,欢迎指正. 第四章 部署配置inotfiy+rsync实时同步 4.1 实时同步inotfiy+rsync的操作步骤 ①备份服务器[email protected]运行rsync进程作为rsync的服务端.NFS作为rsync的客户端. ②在备份服务器安装并正常启动rsync进程服务.并设置修改配置文件.实现远程拉取.推送备份. ③在客户端N

rsync的简单介绍及rsync+inotify实现实时同步更新

Rsync的简单介绍及rsync+inotify实现实时同步更新 rsync是类unix系统下的数据镜像备份工具--remotesync.一款快速增量备份工具 Remote Sync,远程同步支持本地复制,或者与其他SSH.rsync主机同步.Rsync是超级进程来管理的,服务端口为873. 特点: 1.可以镜像保存整个目录树或文件系统: 2.有较高的数据传输效率: 3.可借助于SSH实现安全数据传输: 4. 支持匿名传输 工作模式: 1.shell模式,也称作本地模式 2.远程shell模式,

rsync + inotify 实时同步数据

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