問題タブ [inotifywait]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
amazon-ec2 - Amazon EC2 に inotify をインストールできない
AWS EC2 インスタンスがあり、inotify-tools をインストールしたいと考えています。次のコマンドを実行してリポジトリを追加しました: rpm -Uvh http://download.fedoraproject.org/pub/epel/6/i386/epel-release-6-8.noarch.rpm次に、yum install inotify-tools を実行します。しかし、利用可能なパッケージinotify-toolsがありません。
助けてください
linux - スクリプトの実行中に inotifywait がイベントを見逃す
ファイルが変更、作成、または削除されるたびに、ファイルのデータベースを同期する関数を呼び出す bash スクリプトをトリガーする inotify 待機スクリプトを実行しています。
これは実際には非常にうまく機能しますが、同期スクリプトが時計を実行するのにかかる 10 秒間は追加の変更を取得しません。同期が既にディレクトリを参照しており、監視が再確立されていないために inotifywait によって検出されない追加の変更が発生する場合があります。
inofitywait がスクリプトをトリガーし、監視を維持する方法はありますか?
docker - inotifywait in docker-container doesn't register changes
I have a script running inside a docker-container which listens for changes in a directory via inotifywait
. The directory is mounted to the host-system via docker -v
.
For some reason, inotifywait doesn't get triggered when files inside this directory is changed.
This is the problematic script-line
#xA;The container is started like this (via fig)
#xA;When I start the setup via fig up
, the script is executed, but changes in the mounted volume don't trigger the inotify-barrier.
cat - cat の使用: 何も起こりません
私はこのスクリプトを持っています:
私はその間、すべてが順調に機能しています...しかし、猫は何もしません。なぜ、どのようにこれを解決するのですか?
bash - inotifywait ループを中断またはデバウンスするにはどうすればよいですか?
を使用してファイルの変更を監視inotifywait
する小さなスクリプトがあります。何かが変更されると、実行に約 10 秒かかるプロセス (コンパイル、圧縮、再編成など) を介してファイルのバッチが送信されます。
次の例を検討してください。
別のターミナルで数回実行するtouch oli-test
と、ループが進む前に各ループが完了することがわかります。そのシナリオは私にとって非常に現実的です。すでに処理中のファイルを保存するのを忘れたり、間違いに気づいたりすると、イベントが積み重なり、何分も待たされることになります。
このワークフローを客観的に改善するには、2 つの手法があることに気づきました。何が一番簡単かよくわからないので、両方を紹介します。
前のランスルーを中断し、すぐに再起動します。スクリプト化されたプロセスは、現在、単なるコマンドのインライン セットです。それらを Bash 関数に分割することはできますが、それ以上に分割することに夢中ではありません。
処理待ちのリストをデバウンスして、5 つのイベントが同時に発生した場合 (または既に処理中に発生した場合)、もう一度だけ実行するようにします。
(または両方...両方が役立つ場合があると確信しているため)
私は異なるアプローチにもオープンですinotifywait
が、それらは私に同じ結果をもたらし、Ubuntuで作業する必要があります。
bash - メモリ ダンプが完了した後に inotifywait を停止するにはどうすればよいですか?
そのため、コピーを開始するためにファイルの作成がいつ完了したかを調べる方法を探しているときに、inotifywait を見つけましたが、うまくいかないようです。
Redline を使用してリモート コンピューターのメモリをダンプし、適切なディレクトリとファイルを見つけることができるようにスクリプトを作成していますが、inotifywait をセットアップしようとすると、ハングするだけで、そのファイルが完全であることを返しません (私は実際のメモリ イメージが処理されたとしても、スキャン全体が完了するまでファイルが Redline によって開かれたままになるのでしょうか?)
私はもう試した
と
しかし、どちらも機能していないようです。彼らは、監視が作成されたと言いますが、ファイルが書き込まれなくなった後もずっとそこにハングアップします。そして、リモートマシンがまだファイルのハンドルを開いているかどうかを確認する方法がわかりません... cp 確かにまだ機能し、 tail -f は、ファイルが書き込まれていないことを明確に示しています。ファイルをコピーする準備ができていることをスクリプトに通知するエレガントなソリューションはありますか?
bash - 遅延を伴う監視対象ディレクトリ ツリー (inotifywait) 内のファイルのバッチ処理
によって監視されるディレクトリ ツリーがありinotifywait
ます。私がやりたいことは、スクリプト (たとえば、そこからファイルを移動できるスクリプト) を遅延 (たとえば 10 秒) でトリガーすることです。したがって、このスクリプトはどのイベントでもトリガーされるのではなく、「グループ化された」イベントでトリガーされます。
バッチ スクリプト (より大きなスクリプトの一部であり、最後にメールを送信するなど) は、ファイルを別のディレクトリの対応するディレクトリに移動しますmanage_all.sh
。
これは cron で 5 分ごとに実行され、うまく機能しています。inotifywait
しかし、私はさらに 5 分待つのではなく、を使用したいと考えています。私はこれを試しましたが、manage_all.sh
すべてのイベントでスクリプトをトリガーするため、良くありません:
(スクリプトを書き直さずに) 10 秒に 1 回だけスクリプトを起動する「イベントをグループ化」することは可能ですか?
ありがとう
linux - この inotifywait シェルスクリプトが 2 つの PID を使用するのはなぜですか?
特にhttps://unix.stackexchange.com/questions/24952/script-to-monitor-folder-for-new-filesのスクリプトを使用して、inotifywait の使用方法を学習しています。理解できないのは、 を使用すると、スクリプトが常に 2 回表示される理由pid x
です。
テストを迅速に行うために、リンクされたスクリプトを変更して、 $1 経由で任意のフォルダーを渡して監視し、次のように保存できるようにしましたobserve2.sh
。
スクリプト プロセスが 2 回表示されるのはなぜですか? プロセスのどこかにフォークはありますか?2つのプロセスのこの動作が正確に発生している理由を誰かが説明できますか?