バックグラウンドで実行される CentOS でスクリプトを作成する必要があります。このスクリプトは、ファイル名「status.txt」が /root/MyFile フォルダーに作成されているかどうかを確認する必要があります。そのファイルが作成された場合、スクリプトによってイベントがキャプチャされるはずです。
txt ファイルがフォルダーに作成されたというイベントを取得するために、スクリプトにどのコード スニペットを記述する必要がありますか?
どんな助けでも大歓迎です。
バックグラウンドで実行される CentOS でスクリプトを作成する必要があります。このスクリプトは、ファイル名「status.txt」が /root/MyFile フォルダーに作成されているかどうかを確認する必要があります。そのファイルが作成された場合、スクリプトによってイベントがキャプチャされるはずです。
txt ファイルがフォルダーに作成されたというイベントを取得するために、スクリプトにどのコード スニペットを記述する必要がありますか?
どんな助けでも大歓迎です。
最も簡単な解決策:
while true; do
do
[ -e "/root/MyFile/status.txt" ] && { echo file is created; break; }
sleep 1
done
代わりに、echo file is created
実行したいコマンドを書くことができます。
inotifyで同じことができます:
inotifywait --format '%f' -m /root/MyFile 2> /dev/null | while read file
do
[ "$file" = status.txt ] \
&& [ -e "/root/Myfile/$file" ] \
&& { echo file is created ; break; }
done
このソリューションには、ファイルが作成されるため、すぐにアクションを取得できるという利点があります。そして、最初のケースでは、2 番目のケースも待つことになります。2 番目の利点は、毎秒ファイルシステムをポーリングする必要があることです。
ただし、このソリューションには欠点もあります。
status.txt
と、多くの追加の比較操作が行われます。再開:
最初の解決策が必要だと思います。
カーネルが 2.6.13 よりも新しい場合は、inotifyメカニズムを使用して目標を達成できます。パッケージinotify-toolsをインストールし、提供された例を使用して、ファイルを監視するスクリプトを記述します