あるサーバーのstdoutを別のサーバーのstdinにパイプできますか?

あるサーバーのstdoutを別のサーバーのstdinにパイプできますか?

stdoutstdinあるCentOSサーバーのデータは、パイプを介して別のCentOSサーバーに転送する必要があります。可能ですか?

修正する

ScottPack、MikeyB、およびjofelはすべて有効な答えを持っています。私の質問にはセキュリティが要件として指定されていませんが、セキュリティは常に優れているため、Scottに答えます。しかし、他の2人の同僚の提案も可能です。

ベストアンサー1

これは恥ずかしくない確信です。

ユーザーがsshリモートサーバーでコマンドを実行すると、ある種の内部入出力リダイレクトが実行されます。実際、私はこれがOpenSSHの微妙に良い機能の1つだと思います。特に、sshリモートシステムでランダムなコマンドを実行するために使用する場合、sshは実行STDINSTDOUTのコマンドをマップします。

たとえば、バックアップtarballを作成したいが、ローカルに保存できないか、望ましくないとします。この構文を見てみましょう。

$ tar -cf - /path/to/backup/dir | ssh remotehost "cat - > backupfile.tar"

私たちはtarballを作成し、STDOUTそこに一般的な内容を書いています。 SSHを使用してリモートコマンドを実行するので、STDINSTDINcat。次にファイルにリダイレクトします。

おすすめ記事