UNIXコマンドの出力を1つのサーバーから別のサーバーに送信する方法は?


回答:


20

一般的に、あなたはいつでも行うことができます:

<command> | ssh user@remote-server "cat > output.txt"

リモートサーバーのファイルに出力<command>output.txt保存します。

あなたの場合、Server-1で:

echo "qwerty" | ssh user@Server-2 "cat > output.txt"

2つのサーバーに接続がないが、両方のサーバーにSSHで接続できる場合は、ローカルマシンから次のように実行できます。

ssh user@Server-1 "<command>" | ssh user@Server-2 "cat > output.txt"

私が試したところ、接続エラーがタイムアウトしました。2つのサーバー間に接続がないと思います。他の方法はありますか?
vinod 14

1
@vinod:2つのサーバーからの接続の問題です。2つのサーバーに接続がない場合、これを行うことはできません。Server-1からServer-2にsshできることを確認してください。ローカルマシンから両方のサーバーにsshできますか?
cuonglm 2014

はい...私は両方のサーバーをローカルマシンから個別にsshすることができます
vinod '21

6

以下を実行できます。

ssh remote_server "command" > file_on_local_host.txt

または、ローカルコマンドの入力として出力を使用します。

ssh remote_server "remote_command" | local_command


1

サーバー1からサーバー2に直接接続することはできないため、これを使用して、ローカルマシンを中央に置くことができます。

ssh server1 command | ssh server2 "cat > output.txt"
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.