通常、複数のターミナルを開いて、前の 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 ホームページで説明されているように、多くの追加機能があります。
- ログ ファイルを色分けして表示
- ログ ファイルをスクロールして戻る
- ログファイル内を検索
- 複数のログ ファイルを効果的にマージ