¿Cómo enviar una salida del comando unix de un servidor a otro servidor?


Respuestas:


20

General, siempre puedes hacer:

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

Se ahorra salida <command>de output.txtarchivo en el servidor remoto.

En su caso, en el Servidor-1:

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

Si dos servidores no tienen conectividad, pero puede enviar ssh a ambos servidores, entonces desde la máquina local, puede hacer:

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

Lo intenté y recibo un error de conexión de tiempo de espera. Creo que no hay conectividad entre dos servidores. ¿Hay alguna otra forma?
vinod

1
@vinod: es el problema de conectividad de dos servidores, no puede hacerlo si dos servidores no tienen conectividad. Asegúrese de que puede enviar ssh del Servidor-1 al Servidor-2. ¿Puedes ssh desde la máquina local a ambos servidores?
Cuonglm

sí ... puedo enviar ambos servidores por separado de la máquina local
vinod

6

Tu puedes correr:

ssh remote_server "command" > file_on_local_host.txt

o use la salida como entrada para el comando local:

ssh remote_server "remote_command" | local_command


1

Como no puede conectarse directamente del servidor 1 al servidor 2, puede usar esto, teniendo su máquina local en el medio:

ssh server1 command | ssh server2 "cat > output.txt"
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.