inotify事件监控工具

 

rsync + inotify 组合的起源

 

inotify优缺点

优点:监控文件系统事件变化,通过同步工具实现实时数据同步 
缺点:并发如果大于200个文件(10-100k),同步就会有延迟 
每次都是全部推送一次,但确实是增量的,也可以只同步变化的文件,不变化的不理。 
因为监控到事件后,调用rsync同步是单进程的,而sersync为多进程同步。

 

inotify参数

 

-e指定参数事件


 

inotify监控搭建与测试

首先查看有没有wget命令,没有则需要先安装

在去/etc/yum.repos.d下备份源光盘yum文件到bak目录

命令wget -O /etc/yum.repos.d/epel.repohttp://mirrors.aliyun.com/repo/epel-6.repo从阿里云下载 
需要能上网才可以从网上下载

下载完成后,清空yum缓存,生成新的云yum缓存

安装inotify-tools软件包,命令是inotifywait

 
  1. 单条件监控inotifywait -mrq --timefmt '%y %m %d %H %M' --format '%T %w%f' -e create /backup
  2. inotifywait是ionotify的命令工具
  3. -mrq:-q只输入简短信息,-r递归监控整个目录包括子目录,-m进行不间断持续监听
  4. --timefmt:指定时间输出格式%y=年 %m=月 %d=日 %H=时 %M=分 %F=年月日
  5. --format:指定输出信息的格式%T=时间 %w=路径 %f=文件名
  6. -e create:制定监控的事件类型,监控创建create事件


 

 
  1. 多条件监控:inotifywait -mrq --format '%w%f' -e create,close_write,delete /backup
  2. inotifywait是ionotify的命令工具
  3. -mrq:-q只输入简短信息,-r递归监控整个目录包括子目录,-m进行不间断持续监听
  4. --format:指定输出信息的格式%w=路径 %f=文件名
  5. -e create,close_write,delete:带创建事件,写关闭事件,删除事件
  6. vim对写关闭事件也好用,不过会先生成缓存文件

 
 

__

 

inotify实时监控脚本

#!/bin/bash 
Path=/data 
backup_Server=172.16.1.41 
/usr/bin/inotifywait -mrq --format '%w%f' -e create,close_write,delete /data | while read line 
do 
if [ -f $line ];then rsync -az $line --delete rsync_backup@$backup_Server::nfsbackup --password-file=/etc/rsync.password else cd $Path &&\ 
rsync -az ./ --delete rsync_backup@$backup_Server::nfsbackup --password-file=/etc/rsync.password 
fi 
done

 

脚本加入开机启动

 
    1. echo "/bin/sh /server/scripts/inotify.sh &" >> /etc/rc.local
    2. 一个& 代表从后台开始运行该条命令

inotify事件监控工具的更多相关文章

  1. Linux实战教学笔记23:Inotify事件监控工具

    第二十三节 inotify事件监控工具 标签(空格分隔): Linux实战教学笔记-陈思齐 ---本教学笔记是本人学习和工作生涯中的摘记整理而成,此为初稿(尚有诸多不完善之处),为原创作品,允许转载, ...

  2. (转)第二十三节 inotify事件监控工具

    第二十三节 inotify事件监控工具 标签(空格分隔): Linux实战教学笔记-陈思齐 原文:http://www.cnblogs.com/chensiqiqi/p/6542268.html 第1 ...

  3. Linux系统——Inotify事件监控工具

    每秒传输文件200个 Rsync放在定时任务中也只是一分钟执行一回,要想达到实时的效果,为防止单点nfs架构故障,再启动一台nfs服务器作为主nfs服务器的备份服务器,此时需要inotify实时同步数 ...

  4. DB SQL Monitor 阻塞及等待事件监控工具

    SQL Monitor Designed By zhaoguan wang 说明------------------------------------------------------------ ...

  5. DB SQL Monitor 会话状态及等待事件监控工具

    DB SQL Monitor v1.7.6       Designed by Wang Zhaoguan   工具说明 --------------------------------------- ...

  6. rsync+inotify实现实时同步案例【转】

    1.1 inotify介绍 inotify是一种强大的.细粒度的.异步的文件系统事件控制机制.linux内核从2.6.13起,加入了inotify支持,通过inotify可以监控文件系统中添加.删除. ...

  7. 【NFS项目实战二】NFS共享数据的时时同步推送备份

    [NFS项目实战二]NFS共享数据的时时同步推送备份 标签(空格分隔): Linux服务搭建-陈思齐 ---本教学笔记是本人学习和工作生涯中的摘记整理而成,此为初稿(尚有诸多不完善之处),为原创作品, ...

  8. [原创] 项目 watch EMFILE 报错处理过程

    目录 事件 处理过程 参考资料 小知识点 单进程文件句柄限制 系统总文件句柄限制 inotify 文件系统事件监控 事件 公司XX游戏 S114服启动失败(使用 pomelo - node.js 框架 ...

  9. Linux实战教学笔记

    Linux实战教学笔记01:计算机硬件组成与基本原理 Linux实战教学笔记02:计算机系统硬件核心知识 Linux实战教学笔记03:操作系统发展历程及系统版本选择 Linux实战教学笔记04:Lin ...

随机推荐

  1. 4、网上收集Storm 讲解图

    1.Storm与Kafka集成 我们知道storm的作用主要是进行流式计算,对于源源不断的均匀数据流流入处理是非常有效的, 而现实生活中大部分场景并不是均匀的数据流,而是时而多时而少的数据流入,这种情 ...

  2. pytest使用简介

    pytest是基于py unittest的一个单元测试框架,用起来比unittest简单不少,不过和unittest使用不太一样,总结如下: 格式: case的py文件名必须是test开头 def用例 ...

  3. 算法(第四版)C# 习题题解——1.4

    写在前面 整个项目都托管在了 Github 上:https://github.com/ikesnowy/Algorithms-4th-Edition-in-Csharp 这一节内容可能会用到的库文件有 ...

  4. GOQTTemplate3的多线程化改造

    GOQTTemplate3作为一个QT+OpenCV的平台,希望能够为使用者提供基础的跨平台的图像处理框架.图像处理算法和GUI两个线程的隔离,是必然需要的.在之前的版本中,都采用了OnTimer的方 ...

  5. js之数组操作

    js之数组操作 前言 本文主要从应用来讲数组api的一些操作,如一行代码扁平化n维数组.数组去重.求数组最大值.数组求和.排序.对象和数组的转化等.(文章摘自:https://segmentfault ...

  6. Vue-admin工作整理(十二):Vuex-插件(持久化存储)

    Vuex可以支持插件形式,来处理指定业务,比如:持久化存储的插件(当每次刷新浏览器的时候store里面的参数都会被清除,因为它是存在内存中的,而不是存在本地的,有时候我们希望将一些东西存在本地) 插件 ...

  7. Antd Select组件结合使用出现must set key for <rc-animate> children问题

    一.以下情况可能导致错误发生 出现这个问题的首要条件是因为Select的mode 设置成multiple or tags 1. Select的defaultValue使用了空字符串 例如: const ...

  8. Log4net详细说明

    1.概述 log4net是.Net下一个非常优秀的开源日志记录组件.log4net记录日志的功能非常强大.它可以将日志分不同的等级,以不同的格式,输出到不同的媒介.本文主要是介绍如何在Visual S ...

  9. day23

    ## 复习 4.类与对象的语法class 类名: 代码块(一堆属性与方法)对象名 = 类名() 变量 | 函数 => 属性 | 方法:前者直接使用,通过所属者.语法调用 类会随所属文件加载而加载 ...

  10. 如何在Rails6内通过Webpacker使用JavaScript; flatpicker日期时间组件选择器

    如何在Rails6内通过Webpacker使用JavaScript; Rails6默认不再使用asset pipeline,改用Webpacker. 文件结构变化: 配置文件: webpacker.y ...