![在监视文件夹中同时创建文件时,inotifywait 不执行](https://linux22.com/image/188007/%E5%9C%A8%E7%9B%91%E8%A7%86%E6%96%87%E4%BB%B6%E5%A4%B9%E4%B8%AD%E5%90%8C%E6%97%B6%E5%88%9B%E5%BB%BA%E6%96%87%E4%BB%B6%E6%97%B6%EF%BC%8Cinotifywait%20%E4%B8%8D%E6%89%A7%E8%A1%8C.png)
我正在使用 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 是否只是在执行生成文件的代码时不监视目标文件夹...如果是这样,有没有办法解决此类问题?谢谢