web-dev-qa-db-ja.com

sshとミラーからローカルファイルにファイルをテールします

Ssh上でファイルをテールするために、私は使用することができます

ssh  -t remotebox "tail -f /var/log/remote.log"

ただし、テールをローカルファイルと同期することは可能ですか?では、ファイルは自動的にtailコマンドの更新を反映しますか?

4
Howard

はい、あなたはそのためにティーを使うことができます:

ssh  -t remotebox "tail -f /var/log/remote.log" | tee -a /var/log/local.log

このようにして、出力はstdoutの両方に出力され、sshコマンドを実行しているシステムの/var/log/local.logにコピーされます。

9
Jakov Sosic

Stdoutをリダイレクトするだけです。

ssh -t remotebox tail -f /var/log/remote.log > local.log

Local.logに追加するには:

ssh -t remotebox tail -f /var/log/remote.log >> local.log

これはローカルサーバーに書き込みます。

リモートサーバーは、引用符でリダイレクトを含めた場合にのみ書き込まれます。

ssh -t removebox "tail -f /var/log/remote.log >> remote.log"

1
Devon

Logtailを使用する別の便利な方法を提案してください。 logtailパッケージをリモートホストにインストールし、これを実行して、前回読み取られていない新しい行のみを取得します。

ssh remotebox logtail -f /var/log/remote.log >> local.log

ログを「同期」したいときはいつでも上記のコマンドを実行できます。または、crontabに追加して、自動的に実行できるようにすることもできます。この方法は、安定した接続がない場合に特に便利であり、ssh接続を毎日維持することはできません。

この助けを願っています。

0
Thang Pham