zoukankan      html  css  js  c++  java
  • inotify+rsync的初步配置

    inotify的简单配置 
    Linux内核从2.6.13开始,引入了inotify机制。通过intofity机制,能够对文件系统的变化进行监控,如对文件进行创建、删除、修改等操作,可以及时通知应用程序进行相关事件的处理。这种响应处理机制,避免了频繁的文件轮询任务,提高了任务的处理效率。
    一、查看inotify默认参数
    sysctl -a|grep -e max_queued_events -e max_user_watches -e max_user_instances
    二、修改inotify参数
    1、命令修改sysctl -w xxx
    2、文件修改

    vim /etc/sysctl.conf #添加如下代码,数据按实际情况设置,此处为默认值

    fs.inotify.max_user_instances = 128

    fs.inotify.max_user_watches = 8192

    fs.inotify.max_queued_events = 16384

    fs.epoll.max_user_watches = 199864

    3、参数说明 

    max_user_instances:每个用户创建inotify实例最大值

    max_queued_events:inotify队列最大长度,如果值太小,会出现错误,导致监控文件不准确

    max_user_watches:要知道同步的文件包含的目录数,可以用 find /data/ -type d|wc -l 统计,必须保证参数值大于统计结果。
    三、创建实时监控脚本。
    /usr/bin/inotifywait -mrq --timefmt '%Y/%m/%d-%H:%M:%S' --format '%T %w %f' 
    -e modify,delete,create,move,attrib /data/ 
     1 #!/bin/bash
     2 
     3 inotify=/usr/bin/inotifywait
     4 
     5 $inotify -mrq --timefmt '%Y/%m/%d-%H:%M:%S' --format '%T %w %f' -e create,close_write,delete /data/ | while read file
     6 
     7 do
     8 
     9   cd /data/ &&
    10 
    11   rsync -az ./ --delete flyme@192.168.1.237::backup --password-file=/etc/rsync.pass wd
    12 
    13 done

    inotifywait常用参数:    

    1. --timefmt 时间格式    %y年 %m月 %d日 %H小时 %M分钟    
    2. --format 输出格式      %T时间 %w路径 %f文件名 
    3. -m 始终保持监听状态,默认触发事件即退出。    
    4. -r 递归查询目录    
    5. -q 打印出监控事件    

    -e 定义监控的事件,可用参数:    

    1. open 打开文件    
    2. access 访问文件    
    3. modify 修改文件    
    4. delete 删除文件    
    5. create 新建文件    
    6. attrb  属性变更    
        
        
     
     
     
               
     
     
     
  • 相关阅读:
    [杂谈]关于前端如何学习框架的一点牢骚
    【2018】面试复习大纲
    迟来的2017总结
    [转载并收藏]JavaScript 疲劳终极指南:我们行业的真相
    想做好产品,一定要成为自己产品的用户
    2017年个人提升计划
    Chrome新发现
    不要被所在的公司或企业绑架
    半夜不想睡有感
    2016年总结
  • 原文地址:https://www.cnblogs.com/naodong/p/6893497.html
Copyright © 2011-2022 走看看