Linux Ubuntu iNotify多文件夹
我编写了一个简短的bash脚本,为几个文件夹设置iNotify,然后调用一个Python脚本将创建的文件中的文本上传到web服务。对于列表中的第一个文件夹,该过程可以正常工作,但是对于其他文件夹,create事件似乎没有触发。我假设我的脚本结构正确。有什么想法吗?守则基本上是:Linux Ubuntu iNotify多文件夹,linux,bash,inotify,Linux,Bash,Inotify,我编写了一个简短的bash脚本,为几个文件夹设置iNotify,然后调用一个Python脚本将创建的文件中的文本上传到web服务。对于列表中的第一个文件夹,该过程可以正常工作,但是对于其他文件夹,create事件似乎没有触发。我假设我的脚本结构正确。有什么想法吗?守则基本上是: #!/bin/bash inotifywait -m --format '%w%f' -e create /Folder1 | while read FILE do echo $FILE # upload
#!/bin/bash
inotifywait -m --format '%w%f' -e create /Folder1 | while read FILE
do
echo $FILE
# upload file
python /Scripts/UploadFileContents.py 'PAUR' $FILE
done
inotifywait -m --format '%w%f' -e create /Folder2 | while read FILE
do
echo $FILE
# upload file
python /Scripts/UploadFileContents.py 'RACH' $FILE
done
inotifywait -m --format '%w%f' -e create /Folder3 | while read FILE
do
echo $FILE
# upload file
python /Scripts/UploadFileContents.py 'CDR' $FILE
done
inotifywait -m --format '%w%f' -e create /Folder4 | while read FILE
do
echo $FILE
# upload file
python /Scripts/UploadFileContents.py 'CHR' $FILE
done
inotifywait -m --format '%w%f' -e create /Folder5 | while read FILE
do
echo $FILE
# upload file
python /Scripts/UploadFileContents.py 'PRMS' $FILE
done
提前感谢您的帮助。您必须在后台启动
inotifywait
脚本,因为它们会一直阻止,直到出现更改为止。您的第一个while循环永远不会结束。
inotifywait-m是一个永远运行的命令
除此之外,inotifywait本身是阻塞的,因此将所有这些内容分解为一个循环并删除m标志也不会对您有所帮助
对您来说,最简单的解决方案是将它们分解为多个脚本
或者更理想的方法是设置一个脚本,该脚本接受一些参数,因为大部分逻辑都是重复的
您可以将/Folder1替换为$1
第二个变量是$2
然后调用脚本传递要监视的文件夹
./watch.sh /Folder1 PAUR &
./watch.sh /Folder2 RACH &
您可以制作第二个脚本,调用第一个脚本以及您要查看的所有文件夹,以便每个文件夹运行一个脚本。我该怎么做?我当前以“nohup./scriptname&”开始脚本。定期(每隔几分钟)将文件添加到所有文件夹中。但事件仅针对注册的第一个文件夹触发。