在监视文件夹中同时创建文件时,inotifywait 不执行

在监视文件夹中同时创建文件时,inotifywait 不执行

我正在使用 inotifywait 自动执行使用我的网络应用程序在给定文件夹中创建的脚本。

我已经设置 inotifywait 来监视文件夹中的文件创建事件,并且我正在寻找一种自动执行在创建的文件中生成的命令的方法。

我已经设置了一个作为服务运行的 sh 文件,其中放置了以下代码:

#!/bin/bash
inotifywait -q  --format '%f' -e create /Mainfolder/sub/sub-1/temp|
    while read FILENAME 
        do   
          
            cust=$(basename "$FILENAME")
        
            IFS='-' read -r -a array <<< "$cust"
        
            if  [ ${array[0]} = "doactions" ]  
        
                then 
                chown root:root /Mainfolder/sub/sub-1/temp/${cust}
                sed -i 's/\r$//' /Mainfolder/sub/sub-1/temp/${cust}
                chmod 755  /Mainfolder/sub/sub-1/temp/${cust}
                ./Mainfolder/sub/sub-1/temp/${cust}
            fi
        done

当在目标文件夹中仅创建一个文件时,一切都会顺利运行,但当同时创建多个文件时,一切都不起作用。我的网络应用程序生成的文件是一个包含多个命令行的 txt 文件。我想知道 inotifywait 是否只是在执行生成文件的代码时不监视目标文件夹...如果是这样,有没有办法解决此类问题?谢谢

相关内容