GNU/Linux >> Linux の 問題 >  >> Linux

1 つの端末で複数のログ ファイルの tail -f 出力を表示する 3 つの方法

通常、複数のターミナルを開いて、前の 10 の例で説明したように、複数のファイルの tail -f を表示することができます。 UNIX ログ ファイルを表示します。

たとえば、Apache の error_log と access_log を同時に表示したい場合は、2 つの異なるターミナルで次の操作を行うことができます。


1 つの端末で:

$ tail -f error_log

別の端末で:

$ tail -f access_log

しかし、待ってください!

次のいずれかの方法を使用して、1 つのターミナルで複数の UNIX テール コマンドを実行できたらいいと思いませんか?

$ multi-tail.sh error_log access_log

(or)

$ tail -f /var/log/syslog -f /var/log/auth.log

(or)

$ multitail error_log access_log

この記事では、3 つの方法を使用して、単一のターミナルで複数の Linux の tail -f を同時に実行する方法を確認します。

方法 1:カスタム シェル スクリプトを使用する (Unix の tail コマンドを使用)

以下に示すように、multitail.sh を作成します。

$ vi multi-tail.sh
#!/bin/sh

# When this exits, exit all back ground process also.
trap 'kill $(jobs -p)' EXIT

# iterate through the each given file names,
for file in "$@"
do
	# show tails of each in background.
	tail -f $file &
done

# wait .. until CTRL+C
wait

次に、以下に示すように、この新しいシェル スクリプトを使用して複数のファイルを開きます。

$ ./multi-tail.sh error_log access_log

方法 2:標準の Linux テール コマンドを使用する

Unix の tail コマンドの最新バージョンは、以下に示すように複数の -f をサポートしています。

$ tail -f /var/log/syslog -f /var/log/auth.log

上記は毎回最初の行としてファイル名を表示し、次に新しく成長した行を表示します。これによりログが乱雑になることを望まない場合は、次の方法を使用できます。

方法 3. Linux の Debian フレーバーで multitail コマンドを使用する

以下に示すように multitail をインストールします。

$ apt-get install multitail

複数ファイルのマルチテールを表示

$ multitail /var/log/syslog /var/log/auth.log

イチジク:マルチテール - 画像をクリックして拡大

multitail ユーティリティには、mutitail ホームページで説明されているように、多くの追加機能があります。

  • ログ ファイルを色分けして表示
  • ログ ファイルをスクロールして戻る
  • ログファイル内を検索
  • 複数のログ ファイルを効果的にマージ

Linux
  1. 複数の PDF ファイルを 1 つの PDF に結合/変換する

  2. ブラウザで PHP または Apache のエラー ログをオンラインで表示する方法は?

  3. LinuxのBashで一度に複数のファイルを削除するには?

  1. 1 つのテキスト ファイルを複数の *.txt ファイルに分割する方法は?

  2. 複数のファイルを1つのgzファイルにgzipする方法は?

  3. 1 つのコマンドで複数の tar ファイルを連結する

  1. ログファイルをカラーで読みやすい形式で表示する

  2. 複数行の出力を 1 行に連結する方法は?

  3. ssh を介して複数のマシンでログ ファイルを追跡する