リモートのtail 2ファイルに方法はありますか?
ロードバランサーの背後に2つのサーバー(aとb)があり、可能であれば次のようなことをしたいと思います。
tail -f admin@serverA:~/mylogs/log admin@serverB:~/mylogs/log
ありがとう!
リモートのtail 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' &
Ctrl+C
。
fg
;でフォアグラウンドに戻すだけです。それならできctrl+c
ます。あなたが走っている尾ごとに1回それをします。またはpkill -f ssh
、それらすべてを同時にターゲットにすることもできます。
私の優先オプションは、マルチテールを使用することです。私は次のようなものを実行します:
multitail -l 'ssh user@host1 "tail -f /some/log/file"' -l 'ssh user@host2 "tail -f /some/log/file"'
Operation not permitted
、2つの3ウェブノードと、それは大丈夫だ
Operation not permitted
、手がかりを得る?
私はそれを使用することも可能かもしれないと考えていました:
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
出力を表示するために他のテールオプションを使用したい場合は、現在の「テール」コマンドをもう少し制御できます。
stackoverflowでこの答えを確認してください-dshとtail -fを使用します。
見てください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
リモートシェルで実行できる任意のコマンドを指定できますこのようなことについてどう思いますか?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
who am i
そして、それを表示します。)
dbitailをチェックアウトできます。
私が作成したJavaツール。SSHを使用してローカルおよびリモートのログファイルを読み取ることができます。使い方はとても簡単です。
その他の説明:https : //github.com/pschweitz/DBITail/wiki
Javaランタイム内で実行可能なネイティブjarリリースのオペレーティングシステムに対応するバージョンをダウンロードするだけです(java 8_40以降が必要です)。
https://github.com/pschweitz/DBITail/releases
あなたは完全なドキュメントを見つけることができます(埋め込みとI Githubのページも)
フィリップ
または、画面を使用して2つの端末を作成し、それらを分割することができます。
ログファイルを末尾にする最初のホストにSSHで接続し、末尾を実行する前に画面に入ります。
次に、このホスト上のファイルを末尾にします。
Ctrl + A、cは新しい画面またはウィンドウを作成します。この新しいウィンドウから2番目のホストにsshし、そこにファイルをテールします。
分割画面を作成します
CTRL + A、SHIFT + S、これにより、現在のシェルが上部にあり、下部が空の分割画面が作成されます。下の部分に切り替えて、その中に最初の画面を配置するには、
Ctrl + A、Tab、これにより、下部に移動します。ここで、最初のSSHセッションをこの領域に持ち込みます。
Ctrl + A、 "(引用符)を押し、最初のセッションを選択してEnterキーを押します。
私はこれが多くの体操のように見えるかもしれないことを知っています、そして、それはあなたがそれを数回使用すればそれに慣れるでしょう。
以下は、画面のコマンドに関する非常に優れたチュートリアルまたはクイックリファレンスです。 。http //www.pixelbeat.org/lkdb/screen.html
さらに、.screenrcファイルを作成して、最初に画面に入ったときに説明した内容の多くを自動化することができます。
これに関するもう1つの良い点は、セッションを閉じて別の場所で再開できることです。たとえば、あなたは仕事をしていて、監視を続けています。ログアウトせずにセッションを終了し、帰宅したときや別の場所に戻ったときに再開できます。
bashおよびrsyncを使用してファイルをリモートでテールできます。私はそれを使用しています。これは素晴らしいbashスクリプトで、次のチュートリアルをご覧ください。