![如何将unix命令的输出从一台服务器发送到另一台服务器?](https://linux22.com/image/54467/%E5%A6%82%E4%BD%95%E5%B0%86unix%E5%91%BD%E4%BB%A4%E7%9A%84%E8%BE%93%E5%87%BA%E4%BB%8E%E4%B8%80%E5%8F%B0%E6%9C%8D%E5%8A%A1%E5%99%A8%E5%8F%91%E9%80%81%E5%88%B0%E5%8F%A6%E4%B8%80%E5%8F%B0%E6%9C%8D%E5%8A%A1%E5%99%A8%EF%BC%9F.png)
如何将 unix 命令的输出从一台服务器重定向到另一台服务器。
我应该能够从 server-1 发送 unix 命令的输出。然后我应该能够在 Server-2 中接收输出并将其写入文件。
答案1
一般情况下,你总是可以这样做:
<command> | ssh user@remote-server "cat > output.txt"
它将输出保存到远程服务器中的文件中<command>
。output.txt
对于您的情况,在 Server-1 上:
echo "qwerty" | ssh user@Server-2 "cat > output.txt"
如果两台服务器没有连接,但您可以 ssh 到两台服务器,那么从本地计算机,您可以执行以下操作:
ssh user@Server-1 "<command>" | ssh user@Server-2 "cat > output.txt"
答案2
你可以运行:
ssh remote_server "command" > file_on_local_host.txt
或使用输出作为本地命令的输入:
ssh remote_server "remote_command" | local_command
答案3
由于您无法直接从服务器 1 连接到服务器 2,因此您可以使用此方法,将本地计算机置于中间:
ssh server1 command | ssh server2 "cat > output.txt"