web-dev-qa-db-ja.com

複数のLinuxログファイルをリアルタイムで監視する

リモートジョブを送信できるLinuxアプリケーションをデバッグしており、各ジョブからの出力を新しいファイルに記録しています。ログファイルのパスは次のとおりです。

/joblogs/job_*/JOB.LOG

ここで、ワイルドカードは一意のジョブ番号を表します。

Tail(またはその他)コマンドを発行した後に作成される新しいログを含め、各ジョブログをテールできるようにしたい。 multitail を使用してこれを実行できると思いましたが、使用する適切なパラメーターのセットを理解できません。例えば、

multitail -q 1 "/joblogs/job_*/JOB.LOG"

新しいログファイルごとに希望どおりのウィンドウを作成しているようですが、ファイルウィンドウに出力が表示されません。

マルチテールまたは別のLinuxツールを使用してこれを行う方法を知っている人はいますか?

4
gareth_bowles

一度にアクティブなジョブは1つだけなので、完了したジョブログは/ joblogs/completed_jobs/job_ *に移動され、ログは短いので、この厄介な回避策は今のところ問題ありません。

while [ 1 == 1 ] ; do for joblog in `ls /joblogs/job_*/JOB.LOG`; do cat $joblog; done; sleep 10; done
1
gareth_bowles

パラメータと引用符を削除してみてください

0
Andrew

tailのように、ファイルをフォローするように指示するために-fフラグを付ける必要がありますか?

0
BuildTheRobots