Come inviare un output del comando unix da un server a un altro server?


Risposte:


20

Generale, puoi sempre fare:

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

Si risparmia uscita <command>di output.txtfile in server remoto.

Nel tuo caso, sul Server-1:

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

Se due server non dispongono di connettività, ma è possibile inviare ssh a entrambi i server, quindi dal computer locale, è possibile eseguire:

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

Ho provato e sto ricevendo un errore di connessione scaduto .. Penso che non ci sia connettività tra due server .. Esiste un altro modo ??
vinod

1
@vinod: è il problema di connettività da due server, non puoi farlo se due server non hanno connettività. Assicurati di poter ssh da Server-1 a Server-2. Puoi ssh dal computer locale ad entrambi i server?
cuonglm,

sì ... posso inviare entrambi i server separatamente dalla macchina locale
vinod

6

Puoi eseguire:

ssh remote_server "command" > file_on_local_host.txt

oppure usa l'output come input per il comando locale:

ssh remote_server "remote_command" | local_command


1

Dal momento che non è possibile connettersi direttamente dal server 1 al server 2, è possibile utilizzare questo, con il computer locale nel mezzo:

ssh server1 command | ssh server2 "cat > output.txt"
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.