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. k8s集群安装

    准备三台虚拟机,一台做master,两台做master节点,关闭selinux. 一.安装docker,两node节点上进行 1. 2.安装docker依赖包:yum install -y yum-u ...

  2. kubernets controller 和 CRD 具体组件分析

    (dlv) b k8s.io/sample-controller/pkg/client/informers/externalversions.(*sharedInformerFactory).Info ...

  3. springBoot整合jpa

    https://blog.csdn.net/qq_35180973/article/details/82316438 总体来讲只是在service调用dao的时候用接口代替dao继承CrudRepos ...

  4. Numpy 基础

    Numpy 基础 参考https://www.jianshu.com/p/83c8ef18a1e8 import numpy as np 简单创建数组 # 创建简单列表 a = [1, 2, 3, 4 ...

  5. 3、Docker镜像管理基础

    Docker image     # docker image ls REPOSITORY TAG IMAGE ID CREATED SIZE redis -alpine 23d561d12e92 d ...

  6. 忽略 iconv 转码错误导致输出中断

    在遇到一些特殊字符时候,使用iconv转码会提示报错,导致整段文字输出为空,解决的方法是增加TRANSLIT//IGNORE $str = iconv("UTF-8", " ...

  7. @keyframs实现图片gif效果

    页面中使用动效图 一般让设计出一个gif格式的图,但是git图效果都很差,有一个替代gif图做动效的方法:使用@keyframes 具体思路: 1.设计两个互斥的图片(相当于把gif图分割成一帧一帧的 ...

  8. kafka可视化客户端工具Kafka Tool

    1.下载 下载地址:http://www.kafkatool.com/download.html 2.安装 根据不同的系统下载对应的版本,我这里kafka版本是1.1.0,下载kafka tool 2 ...

  9. centos7中bash: maven: 未找到命令... 解决办法

    安装了maven,但在执行mvn -v或maven-versions时提示bash: maven: 未找到命令... 应该是环境变量出错,把MAVEN_HOME的路径换到PATH上就可以了,如下: e ...

  10. (7)udp-socket

    # upd 协议:(1)#client 端口:import socketsk = socket.socket(type=socket.SOCK_DGRAM)message = "我来了大哥& ...