• 使用 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
  • 相关阅读:
    java实现第四届蓝桥杯核桃的数量
    java实现第四届蓝桥杯核桃的数量
    java实现第四届蓝桥杯核桃的数量
    java实现第四届蓝桥杯核桃的数量
    java实现第四届蓝桥杯逆波兰表达式
    jsp中生成的验证码和存在session里面的验证码不一致的处理
    使用session实现一次性验证码
    java图形验证码生成工具类及web页面校验验证码
    关于在页面得到的servlet验证码总是上一次保存在session中的
    FreeMarker 获取页面request、session
  • 原文地址:https://www.cnblogs.com/jinanxiaolaohu/p/12196629.html
Copyright © 2020-2023  润新知