私はWebアプリケーションを使用して特定のフォルダに生成されたスクリプトの実行を自動化するために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
ターゲットフォルダにファイルが1つだけ作成されると、すべてがスムーズに実行されますが、同時に複数のファイルが作成されても何も機能しません。私のWebアプリケーションで生成されたファイルは、複数のコマンドラインを含むtxtファイルです。私はinotifywaitがファイルを生成するコードを実行しているときにターゲットフォルダを監視していないかどうか疑問に思います。それでは、この種の問題を解決する方法はありますか?ありがとう