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

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

表示されるのは、grep の標準 stdout バッファーの効果です Glibc 提供。最善の解決策は、--line-buffered を使用して無効にすることです (GNU grep、他のどの実装がそれをサポートしているか、または同様のものかはわかりません)。

理由について これはいくつかの場合にのみ発生します:

ssh server "tail -f /var/log/server.log | grep test"

サーバー上の引用符でコマンド全体を実行します-したがって、 grep バッファがいっぱいになるまで待機します。

ssh server tail -f /var/log/server.log | grep test

grep を実行します 出力 tail のローカル マシンで ssh チャネル経由で送信されます。

ここで重要な部分は、その grep です stdin かどうかに応じて動作を調整します 端末かどうか。 ssh -t を実行すると 、リモートコマンドは制御端末で実行されているため、リモート grep


これをチェックしてください:multitail

MultiTail を使用すると、ターミナルの複数のウィンドウでログファイルとコマンド出力を監視し、色付け、フィルター処理、およびマージできます。

複数のサーバーでログを追跡するには:

multitail -l 'ssh [email protected] "tail -f /path/to/log/file"' -l 'ssh [email protected] "tail -f /path/to/log/file"'

Linux
  1. Sudoを介してSsh上でスクリプトファイルを実行しますか?

  2. Grep And Tail -f?

  3. 複数のコンピューターに大規模なダウンロードを配布する方法は?

  1. ファイル内で \n を grep する方法

  2. 正しいユーザーとして ssh ログインする方法は?

  3. 大きなファイルを LAN 上の複数のマシンにコピーする

  1. Ssh –一般的な複数のSsh接続ファイル処理の問題?

  2. ログファイルに何が追加されているかをリアルタイムで確認する便利な方法は何ですか?

  3. Firefoxのログファイルを見つけますか?