Bagaimana cara mengirim output perintah unix dari satu server ke server lain?

10

Bagaimana cara mengarahkan output dari perintah unix dari satu server ke server lain.

Saya harus dapat mengirim output perintah unix dari server-1. Maka saya harus dapat menerima output di Server-2 dan menuliskannya ke dalam file.

vinod
sumber

Jawaban:

20

Umum, Anda selalu dapat melakukan:

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

Menghemat output <command>ke output.txtfile di server jauh.

Dalam kasus Anda, pada Server-1:

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

Jika dua server tidak memiliki konektivitas, tetapi Anda dapat melakukan ssh ke kedua server, kemudian dari mesin lokal, Anda dapat melakukan:

ssh user@Server-1 "<command>" | ssh user@Server-2 "cat > output.txt"
cuonglm
sumber
Saya mencoba dan saya mendapatkan waktu habis koneksi kesalahan .. Saya pikir tidak ada konektivitas antara dua server .. Apakah ada cara lain ??
vinod
1
@vinod: Ini masalah konektivitas dari dua server, Anda tidak dapat melakukan ini jika dua server tidak memiliki konektivitas. Pastikan Anda dapat ssh dari Server-1 ke Server-2. Bisakah Anda ssh dari mesin lokal ke kedua server?
cuonglm
ya ... saya dapat ssh kedua server secara terpisah dari mesin lokal
vinod
6

Anda dapat menjalankan:

ssh remote_server "command" > file_on_local_host.txt

atau gunakan output sebagai input untuk perintah lokal:

ssh remote_server "remote_command" | local_command

Ruslan Gerasimov
sumber
1

Karena Anda tidak dapat terhubung langsung dari server 1 ke server 2 Anda dapat menggunakan ini, memiliki mesin lokal Anda di tengah:

ssh server1 command | ssh server2 "cat > output.txt"
pqnet
sumber