Como enviar uma saída do comando unix de um servidor para outro servidor?


Respostas:


20

Geral, você sempre pode:

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

Ele salva a saída de <command>ao output.txtarquivo no servidor remoto.

No seu caso, no Servidor 1:

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

Se dois servidores não tiverem conectividade, mas você puder ssh para os dois servidores, na máquina local, poderá:

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

Eu tentei e estou ficando com tempo limite de erro de conexão .. Acho que não há conectividade entre dois servidores .. Existe alguma outra maneira?
Vinod #

1
@vinod: É o problema de conectividade de dois servidores, você não pode fazer isso se dois servidores não tiverem conectividade. Certifique-se de poder ssh do Servidor 1 para o Servidor 2. Você pode ssh da máquina local para os dois servidores?
cuonglm

sim ... Eu posso ssh ambos os servidores separadamente da máquina local
vinod

6

Você pode correr:

ssh remote_server "command" > file_on_local_host.txt

ou use a saída como uma entrada para o comando local:

ssh remote_server "remote_command" | local_command


1

Como você não pode se conectar diretamente do servidor 1 ao servidor 2, você pode usá-lo, mantendo sua máquina local no meio:

ssh server1 command | ssh server2 "cat > output.txt"
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.