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

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

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

/joblogs/job_*/JOB.LOG

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

tailコマンド(または他のコマンド)を発行した後に作成された新しいログを含む、各ジョブのログをtailできるようにしたい。マルチテールしかし、どのパラメータを使用すればよいのかわかりません。たとえば、

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

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

multitail または別の Linux ツールを使用してこれを行う方法を誰か知っていますか?

答え1

一度にアクティブなジョブは 1 つだけなので、完了したジョブのログは /joblogs/completed_jobs/job_* に移動され、ログは短くなります。現時点では、この安っぽい回避策で問題ありません。

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

答え2

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

答え3

たとえば、ファイルをフォローするように指示するフラグをtail設定する必要がありますか?-f

関連情報