zoukankan      html  css  js  c++  java
  • 使用 inotifywait的方式监控文件夹发生变化后自动执行脚本的方法

    0. 先安装inotify 最简单的方法为:

    yum install epel-release
    安装扩展包源
    yum install inotify-tools 

    1. 从网上抄了一下脚本 简单记录一下

    编写脚本如下:

    srcdir="/在测补丁"
    inotifywait -mrq --timefmt '%d/%m/%y-%H:%M' --format '%T%w%f' -e modify,create,attrib ${srcdir} 
    | while read file
    do
    /deploy/cicd
    done    

    定义一下 source的目录  然后 通过 inotifywait的命令 监听 文件夹的变化

    如果检测到文件发生变化  执行 批处理

    仔细看一下帮助如下:

    [root@centos76 deploy]# inotifywait -h
    inotifywait 3.14
    Wait for a particular event on a file or set of files.
    Usage: inotifywait [ options ] file1 [ file2 ] [ file3 ] [ ... ]
    Options:
        -h|--help         Show this help text.
        @<file>           Exclude the specified file from being watched.
        --exclude <pattern>
                          Exclude all events on files matching the
                          extended regular expression <pattern>.
        --excludei <pattern>
                          Like --exclude but case insensitive.
        -m|--monitor      Keep listening for events forever.  Without
                          this option, inotifywait will exit after one
                          event is received.
        -d|--daemon       Same as --monitor, except run in the background
                          logging events to a file specified by --outfile.
                          Implies --syslog.
        -r|--recursive    Watch directories recursively.
        --fromfile <file>
                          Read files to watch from <file> or `-' for stdin.
        -o|--outfile <file>
                          Print events to <file> rather than stdout.
        -s|--syslog       Send errors to syslog rather than stderr.
        -q|--quiet        Print less (only print events).
        -qq               Print nothing (not even events).
        --format <fmt>    Print using a specified printf-like format
                          string; read the man page for more details.
        --timefmt <fmt>    strftime-compatible format string for use with
                          %T in --format string.
        -c|--csv          Print events in CSV format.
        -t|--timeout <seconds>
                          When listening for a single event, time out after
                          waiting for an event for <seconds> seconds.
                          If <seconds> is 0, inotifywait will never time out.
        -e|--event <event1> [ -e|--event <event2> ... ]
            Listen for specific event(s).  If omitted, all events are 
            listened for.
    
    Exit status:
        0  -  An event you asked to watch for was received.
        1  -  An event you did not ask to watch for was received
              (usually delete_self or unmount), or some error occurred.
        2  -  The --timeout option was given and no events occurred
              in the specified interval of time.
    
    Events:
        access        file or directory contents were read
        modify        file or directory contents were written
        attrib        file or directory attributes changed
        close_write    file or directory closed, after being opened in
                       writeable mode
        close_nowrite    file or directory closed, after being opened in
                       read-only mode
        close        file or directory closed, regardless of read/write mode
        open        file or directory opened
        moved_to    file or directory moved to watched directory
        moved_from    file or directory moved from watched directory
        move        file or directory moved to or from watched directory
        create        file or directory created within watched directory
        delete        file or directory deleted within watched directory
        delete_self    file or directory was deleted
        unmount        file system containing file or directory unmounted
  • 相关阅读:
    最小二乘拟合(转)good
    会议论文重新投稿算不算侵权?这肯定是所多人都遇到过的问题(转)
    吝啬的国度
    压力单位MPa、Psi和bar之间换算公式
    Oracle建立表空间和用户
    layoutSubviews总结
    C++中出现的计算机术语4
    445port入侵具体解释
    hdu
    ORM框架
  • 原文地址:https://www.cnblogs.com/jinanxiaolaohu/p/12196629.html
Copyright © 2011-2022 走看看