インクロンタスクで一度に1つのアイテムを許可しますか?

インクロンタスクで一度に1つのアイテムを許可しますか?

監視したいディレクトリがあります。アップデート後、incronでいくつかのコマンドを実行しました。このディレクトリに複数のファイルをコピーすると、incronは同時に複数のコマンドを実行します。 incronジョブの1つが実行されているときに2番目のジョブが実行されないようにする方法はありますか?私はフォローしましたこのチュートリアルご案内のため。

ベストアンサー1

いいえ、incronにはロック機能が組み込まれていません。ジョブが同時に実行されるのを防ぐには、ジョブ内でこれを実行してください。

前のジョブが完了するまでジョブを延期するには、そのジョブをロックしたままにします。あなたはそれを使用することができますflock注文する。マニュアルページに例があります。

以前のジョブがまだ完了していない場合は、ジョブをスキップするためにそのジョブを引き続き使用できますが、タイムアウトflockはゼロです。ロックを獲得できない場合は終了します。これは競合状態が発生しやすいことに注意してください。ジョブ#1がファイルの列挙を完了した後にロックを解除する時間になる前に、新しいファイルがコピーされ、ジョブ#2がロックがコピーされたことがわかる場合があります。ファイルを処理せずに残り、終了します。この競合を解決する簡単な方法はありません。

おすすめ記事