2

tailファイルが作成されるのを待ってから、それらを追跡し始める方法を見つけようとしています。

たとえば、logsまだ作成されていないディレクトリがあり、アプリケーションによって作成されるとします。実行したい別のプロセスがありtail -F logs/*.log、すべてのファイルが作成されるとすぐにテーリングを開始するとします。どうすればそれを行うことができますか?

そして別のこと:tail削除されたファイルをテーリングしている場合、それが再作成された場合、再びテーリングを開始することは可能ですか?

4

2 に答える 2

2

多少の粗さで、これは機能します:

while inotifywait -q .; do kill $PID; tail -F -n 0 * & PID=$!; done

ディレクトリ内の何かが変更されると、tailコマンドが再起動されます。

于 2013-06-21T13:40:00.220 に答える
1

もう 1 つ: テールが削除されたファイルをテーリングしている場合、ファイルが再作成された場合、再びテーリングを開始することは可能ですか?

tail切り捨てられて再作成されたファイルを処理している間。tailコマンドはそれを自動的に処理します。tailその特定のファイルに対してコマンドを再発行する必要はありません。

于 2013-06-21T12:08:59.207 に答える