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. 线程池如何复用一个线程-- ThreadPoolExecutor的实现(未完)

    任务是一组逻辑工作单元,而线程则是使任务异步执行的机制.在Java中,Runnable对象代表一个任务,Thread对象负责创建一个线程执行这个任务. 前提:1. 程序需要处理大量任务 2. 任务的执 ...

  2. HTML与CSS的一些知识(四)

    续: line-height 用于设置一行文本行高,一般用于文本的垂直居中: display 用于设置元素的显示方式 float 浮动,让元素漂浮起来排列 浮动的影响: a.浮动后,行内元素可以支持宽 ...

  3. VirtualBox中安装CentOS 7_Linux

    准备条件 在自己真实机上已经安装了VirtualBox虚拟机,具体安装方法可以参考Linux公社的文章. 下载CentOS-7的镜像 1. 在虚拟机中创建虚拟电脑 如图点击新建按钮,开始新建虚拟机电脑 ...

  4. Confluence-6.10.0+Jira-7.13+Crowd-3.2.1最全破解文档,附下载包

    =========================================2019.4.19更改================================================ ...

  5. C# base64编码、解码

    public class TransferCode { #region base-64编码.解码 /// <summary> /// BASE64编码 /// </summary&g ...

  6. TP5创建动态数据表

    $sql = " CREATE TABLE IF NOT EXISTS `$table_name` (`id` int(11) unsigned NOT NULL AUTO_INCREMEN ...

  7. Vue小项目二手书商城:(一)准备工作、组件和路由

    本项目基于vue2.5.2,与低版本部分不同之处会在(五)参考资料中提出 完整程序:https://github.com/M-M-Monica/bukesi 实现内容: 资源准备(mock数据) 组件 ...

  8. Oracle配置SQL空间操作要点说明

    前面配置PL/SQL直接通过SQL查询SDE空间数据库,网上已有诸多示例, 常见问题如下: ORA-06520: PL/SQL: 加载外部库时出错ORA-06522: Unable to load D ...

  9. App 打包

    记录一下: 1. applicationIdSuffix 实现不同 ApplicationId 打包,buildTypes 中添加编译后会成功生成加对应后缀的ApplicationId.在 produ ...

  10. Mac安装python3.x+pycharm+elasticsearch+常见报错处理(1)

    ---恢复内容开始--- mac安装python有两种方式:此处叙述官网安装下载. mac 自带python2.x版本,python2和3之间的差距还是有的.下面简单叙述我安装python3.7的过程 ...