精华内容
下载资源
问答
  • inotify
    2022-05-04 09:44:03

    inotify简介

    可以监控文件系统的变动情况,并做出通知响应

     #调整inotify内核参数(优化)
     letc/ sysctl.conf(内核参数配置文件)3 inotifywait:    #用于持续监控,实时输出结果
     inotifywatch:   #用于短期监控,任务完成后再输出结果
     max_queue_events   #监控事件队列大小
     max_user instances      #最多监控实例数,可以看成最多可以监控多少个实例
     max_user_watches        #每个实例最多监控文件数
     inotifywait格式参数
     常见参数    说明
     -m          持续进行监控
     -r          递归监控所有子对象
     -q          简化输出信息
     -e          指定要监控哪些事件类型(*)

    配置Rsync+Inotify 实时同步

    • 使用inotify通知接口,可以用来监控文件系统的各种变化情况,如文件存取、删除、移动、修改等。利用这一机制,可以非常方便地实现文件异动告警、增量备份,并针对目录或文件的变化及时作出响应。
    • 将inotify机制与rsync工具相结合,可以实现触发式备份(实时同步),即只要原始位置的文档发生变化,则立即启动增量备份操作;否则处于静默等待状态。
    • 因为 inotify 通知机制由 Linux 内核提供,因此主要做本机监控,在触发式备份中应用时更适合上行同步

    Master关闭只读模式并为共享目录赋权

    Master(192.168.239.7)

    vim /etc/rsyncd.conf
    read only = no
    #关闭只读模式,否则将不可写入
    
    
    kill `cat /var/run/rsyncd.pid`
    #修改完配置文件需要重启服务,这里采用直接杀掉进程号的方式
    
    netstat -natp | grep rsync
    #检查一下服务是否已被终止
    
    rsync --daemon
    netstat -natp | grep rsync
    #再次开启服务并检查端口号确认

     

    优化Slave内核参数

    Slave(192.168.239.8)

      cat /proc/sys/fs/inotify/max_queued_events      #监控事件队列
      cat /proc/sys/fs/inotify/max_user_instances     #最多监控实例数
      cat /proc/sys/fs/inotify/max_user_watches       #每个实例最多监控文件数
      
      vim /etc/sysctl.conf         #加大每个参数
      fs.inotify.max_queued_events = 16384
      fs.inotify.max_user_instances = 1024
      fs.inotify.max_user_watches = 1048576
      #当要监控的目录、文件数据量较多或者变化频繁时,建议加大参数值
     
      sysctl -p
      #刷新

     

     

     

    客户端(192.168.239.8):编译安装inotify-tools

      yum install -y gcc gcc-c++ 
      #安装gcc gcc-c++ 
      
      cd /opt
      #切换至/opt上传inotify-tools安装包
      
      tar zxf inotify-tools-3.14.tar.gz 
      #解压
      
     cd /opt/inotify-tools-3.14/
     ./configure
     make -j 4 && make install
     #编译安装

     

     

    客户端启动监听

    1 #持续监听对/abc的modify,create,move,delete操作
    2 inotifywait -mrq -e modify,create,delete /abc

     

    编写触发同步脚本

    vim /opt/inotify.sh
    #!/bin/bash
    INOTIFY_CMD="inotifywait -mrq -e create,delete,move,modify,attrib /opt/abc/"
    RSYNC_CMD="rsync -azH --delete --password-file=/etc/server.pass /opt/abc/ backuper@192.168.239.7::wwwroot"
    
    $INOTIFY_CMD | while read DIRECTORY EVENT FILE
    do
        if [ $(pgrep rsync | wc -l) -le 0 ] ; then
            $RSYNC_CMD
        fi
    done
    ----详解----
    #!/bin/bash
    INOTIFY_CMD="inotifywait -mrq -e create,delete,move,modify,attrib /opt/abc/"
    #INOTIFY_CMD变量:持续监控 /opt/abc目录中的创建,删除,移动,修改,改变时间的操作
    RSYNC_CMD="rsync -azH --delete --password-file=/etc/server.pass /opt/abc/ xixi@192.168.59.111::wwwroot"
    #RSYNC_CMD变量:使 xixi 用户,/etc/server.pass 密钥文件,将 /opt/xcf1 目录下的文件进行压缩,归档,保留硬链接文件同步至 192.168.59.111 的共享模块定义的目录 /var/www/html 下,并删除差异性内容,保持一致性
    
    $INOTIFY_CMD | while read DIRECTORY EVENT FILE        #持续监控...
    do
        if [ $(pgrep rsync | wc -l) -le 0 ] ; then        #如果服务并未启动,则执行同步
            $RSYNC_CMD
        fi
    done
    ----
    
    cd /opt/
    chmod +x inotify.sh
    #给脚本赋权
    
    chmod +x /etc/rc.d/rc.local 
    echo "/opt/inotify.sh" >> /etc/rc.d/rc.local 
    #设置开机自启动
    
    sh -x inotify.sh
    #执行脚本
    
    cd /opt/abc
    touch jingjing.html
    rm -rf jiang.html
    #创建一个新的html文件并删除之前的qwe
    ls
    #再次确认一下

     

    rsync的应用场景

    1、增量同步

    2、备份/迁移:可以作为辅助工具(mysql 主从复制 rsync +inotify ——》趋于一致 双向同步——MM,但是只能在并发量不大的时候可以用)

    3、假设mysql 从主机A迁移到主机B(一主两从模式)

    一主两从模式迁移方案

    ①确定迁移的时间、业务线停止的时间、要写文档描述具体操作,要发邮件审批

    ②确认迁移后的节点的环境问题(资源环境 + 系统依赖环境 + mysql内部的格式环境 ------1)例如自增长,自增长可能会导致主从复制不一致的情况 2)版本迁移问题,比如说低版本向高版本迁移。两个版本中的差异比较大,数据迁移比较重要,需要和研发沟通,让研发开发一个工具,让低版本可以转成高版本工具格式,使用工具迁移)

    ③ 如果数据库是相同版本,可以用rsync + inotify持续同步

    ④ 测试、之前还要编写回滚方案

    ⑤ 提交检修申请 22:00 - 00:00

     

     

     

     

     

     

     

     

     

     

    更多相关内容
  • 2.6.13起,加入了Inotify支持,通过Inotify可以监控文件系统中添加、删除,修改、移动等各种事件,利用这个内核接口,第三方软件就可以监控文件系统下文件的各种变化情况,而inotify-tools正是实施这样监控的软件。...
  • 要利用监控服务(inotify),监控同步数据服务器目录中信息的变化 发现目录中数据产生变化,就利用rsync服务推送到备份服务器上 1.2 实现实时同步的方法 inotify+rsync 方式实现数据同步 sersync 方式实现实时数据...
  • inotify-tools.zip

    2020-12-07 20:08:32
    inotify压缩包里面也包含unison,rsync+inotify可以实现实时同步,inotify 是一个 Linux 内核特性,它监控文件系统,并且及时向专门的应用程序发出相关的事件警告,比如删除、读、写和卸载操作等。要使用 inotify,...
  • Inotify地址:访问 # -*- coding:utf-8 -*- import os import pyinotify from functions import * WATCH_PATH = '' #监控目录 if not WATCH_PATH: wlog('Error',"The WATCH_PATH setting MUST be set.") sys.exit...
  • iNotify.js主要是调用 Chrome、Firefox、Safari 等浏览器提供的系统通知 API,实现浏览器系统通知,实现 title 标签 闪烁、滚动、声音提示。favicon 图标数字信息通知,声音播放等.....
  • hdfs-inotify-example HDFS iNotify示例 有关iNotify的信息,请参见 ,尤其是幻灯片#16 您必须以hdfs用户身份运行此工具。 Usage: $ java -jar hdfs-inotify-example-uber.jar <HDFS> [] 这是一个快速而肮脏的...
  • 配合rsync使用
  • inotify-java-2.0.2.jar

    2020-09-10 09:19:23
    java用于监控Linux下文件变化的工具包,包含文件写完成事件,使用方法:...Inotify i = new Inotify(); int wd = i.addWatch(dir.getPath(), Close_Write); i.addListener(wd, new InotifyEventListener() { //实现 })
  • inotify-java-2.1.jar包

    2018-05-03 18:27:50
    本资源是使用Ant工具构建成的jar包,你也可以在inotify-java官方网站或其GitHub中下载源代码并自行使用Ant打包(需要注意的是你在使用Ant打包时需要将解压目录下src/java下的builder.xml中build操作jar属性的basedir...
  • 2.6.13起,加入了Inotify支持,通过Inotify可以监控文件系统中添加、删除,修改、移动等各种事件,利用这个内核接口,第三方软件就可以监控文件系统下文件的各种变化情况,而inotify-tools正是实施这样监控的软件。...
  • inotify-java-2.1.jar

    2020-09-10 09:16:35
    java用于监控Linux下文件变化的工具包,包含文件写完成时间,使用方法参考com.den_4.inotify_java.Demo类
  • 官方离线安装包,亲测可用。使用rpm -ivh [rpm完整包名] 进行安装
  • inotify-tools-3.14.tar.zip

    2020-06-03 09:54:00
    inotify-tools-3.14.tar.gz可实现文件监控(大小,更新时间,文件名等),然后执行相关的操作具体使用参考教程https://blog.csdn.net/qq_38279833/article/details/91431823
  • 声化一个简易的消息通知系统,支持企业微信,电报机器人,邮件推送类似服务器酱,容易扩展示例站点: ://inotify.cf功能支持通道设置用户管理系统状态代理设置 Github登陆外部日志通道支持企业微信应用消息电报...
  • rb-inotify 这是对 Linux内核子系统的简单包装,用于监视文件和目录的更改。 它使用 gem来避免编译C扩展名。 。用法该API与inotify C API相似,但是具有类似Rubyish的感觉。 首先,创建一个通知程序: notifier = ...
  • python-inotify linux inotify的python绑定许可证:麻省理工学院演示 #! /usr/bin/env python"""backup your file automatically. """import osimport timeimport shutilimport sysimport errno import os . pathtry...
  • inotify-手表每当为单个文件触发 inotify 事件CLOSE_WRITE时(即,当您在编辑器中保存文件时),用于执行命令的小脚本。 基于 inotify-tools(当然也可以传递到 inotify)。 不要与记录 inotify 事件的 inotifywatch...
  • inotify.exe

    2020-07-09 18:33:45
    通过C#开发的仿inotify.exe,利用 FileSystemWatcher 监听文件操作。 你可以根据筛选条件选择性的执行操作。 Usage: inotify [args] [options] Commands: -e: 事件列表 -?/h: 帮助 Args: -r: 监控子文件夹 -m: ...
  • inotify-tools软件包

    2018-04-05 08:18:10
    实时/触发实时同步---inotify+rsync所要用到的inotify-tools软件包
  • 我使用的是google的inotify-tools,比较简单.国内有功能很强大的类似的程序,但是好复杂.
  • inotify_simple 1.3 inotify_simple是围绕的简单Python包装器。 没有花哨的花哨,只有带有ctypes的文字包装器。 只有约100行代码! inotify_init1()被包装为类似文件的对象INotify() ,其中保存了inotify文件描述...
  • 赢得胜利Windows的inotifywait工具的端口,请参阅编译中如果您安装了Cygwin,只需在此目录中运行make 。 这将创建可执行文件inotifywait.exe 。 手动填写如下: $ %WINDIR% \M icrosoft.NET \F ramework \v 4.0....
  • 通知API 一些使用 Inotify API 的示例实现
  • inotify-tools-3.13.tar.gz

    2018-10-16 11:43:06
    rsync+inotify实现服务器之间文件实时同步
  • 您将需要bash 4.2 (或更高版本), jshon和inotify-tools ,后两个可以通过以下方式安装: sudo apt-get install jshon inotify-tools 然后,您只需要下载此仓库中的脚本并将其保存到要在其上自动执行命令的远程...
  • 官方离线安装包,亲测可用。使用rpm -ivh [rpm完整包名] 进行安装
  • Linux inotify

    2015-07-29 12:07:02
    linux inotify原理: Inotify是一种文件系统变化通知的机制,文件或者文件夹的增删等这些事件都可以即刻反映在用户空间。

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 21,293
精华内容 8,517
关键字:

inotify

友情链接: HorizontalListView.rar