テール2ファイルをリモートする方法はありますか?
ロードバランサーの背後に2つのサーバー(aとb)があり、可能であればこのようなことをしたいと思います。
tail -f admin@serverA:~/mylogs/log admin@serverB:~/mylogs/log
ありがとう!
これは私のために働きました:
ssh -n user@hostname1 'tail -f /mylogs/log' &
ssh -n user@hostname2 'tail -f /mylogs/log' &
私の好ましいオプションは、マルチテイルを使用することです。私は次のようなものを実行します:
multitail -l 'ssh user@Host1 "tail -f /some/log/file"' -l 'ssh user@Host2 "tail -f /some/log/file"'
fabric を使用して、複数のホスト(および必要に応じてgrep結果)をテールすることができます。
$ fab -P -u 'USER' -p 'PASSWORD' --linewise -H Host1,Host2,Host3 -- tail -f /path/to/my/log.log | grep ERROR
チェックアウト stackoverflowのこの回答 -dshとtail -fを使用します。
私はそれが使用することも可能かもしれないと思っていました:
ssh -f user@hostname1 "tail -f /var/log/file" > /tmp/somefile &
ssh -f user@hostname2 "tail -f /var/log/file" > /tmp/somefile &
Sshの後に-fオプションを指定すると、バックグラウンドで実行する前にパスワードを入力できます。次に、1行ずつ結果を1つのファイルにして実行します。
tail -f /tmp/somefile
出力を表示するために他のテールオプションを使用したい場合は、現在の「テール」コマンドをもう少し制御できます。
multitail を見てください。上記の例と同様に、sshへのコマンドとして指定すると、1つの画面に複数のログが表示されます(簡単にスクロールできるようにバッファリングされます)。また、カラーリングも行います。これは、異常の発見に非常に役立ちます。
Parallel ssh にはこれに対する素晴らしい解決策があります:
pssh -t0 -H 'Host-01 Host-02 Host-03 Host-04' -P tail -f /var/log/app.log
-t0
接続タイムアウトを無効にします。それ以外の場合、psshは接続を閉じました-H '<Host>...'
は、コマンドを実行するホストのリストです-P
は、各ホストの標準出力の印刷を有効にしますtail -f /var/log/app.log
は、リモートシェルが実行できる任意のコマンドです。あなたはdbitailをチェックアウトできます。
A Java私が作成したツールで、SSHを使用してローカルおよび遠隔のログファイルを読み取ることができます。使用方法はかなり簡単です。
さらにいくつかの説明: https://github.com/pschweitz/DBITail/wiki
Javaランタイム(Java 8_40以上が必要))内で実行可能なネイティブjarリリースのオペレーティングシステムに対応するバージョンをダウンロードするだけです。
https://github.com/pschweitz/DBITail/releases
完全なドキュメントを見つけることができます(I Githubのページにも埋め込まれています)
フィリップ
このようなことについてどう思いますか? http://Gist.github.com/303175
ただ奇妙な解決策ですが、うまくいきます!:
画面1
ssh user@hostname1 "tail -f /var/log/file" > /dev/pts/6
画面2
ssh user@hostname2 "tail -f /var/log/file" > /dev/pts/6
または、screenを使用して2つの端末を作成し、それらを分割することもできます。
ログファイルをテイルしたい最初のホストにSSH接続し、テイルを実行する前にscreenと入力します。
次に、このホストのファイルをテールします。
CTRL + A、cは新しい画面またはウィンドウを作成します。この新しいウィンドウからsshで2番目のホストにアクセスし、そこにファイルをテールします。
次に、分割画面を作成します
CTRL + A、SHIFT + S、これにより、上部に現在のシェル、下部に空の分割画面が作成されます。下部に切り替えて最初の画面をその中に配置するには、
CTRL + A、TAB、これで下部に移動します。次に、最初のSSHセッションをこの領域に持ち込みます。
CTRL + A、 "(引用符)、最初のセッションを選択してEnterキーを押します。
これは多くの体操のように見えるかもしれませんが、実際はそうですが、数回使用すると慣れます。
これは、画面のコマンドの非常に優れたチュートリアルまたはクイックリファレンスです。 http://www.pixelbeat.org/lkdb/screen.html
さらに、.screenrcファイルを作成して、最初にscreenに入るときに説明した内容の多くを自動化することができます。
これに関するもう1つの良い点は、セッションを閉じて、別の場所で再開できることです。たとえば、あなたは仕事中で、いくつかの監視が行われています。ログアウトせずにセッションを閉じ、家に帰ったときや別の場所に戻ったときに再開できます。
Bashとrsyncを使用してリモートでファイルをテールすることができます。私はそれを使用しています。これは素晴らしいbashスクリプトであり、次のチュートリアルを参照してください