1
pythonを使用して、あるリモートサーバーから別のリモートサーバーにファイルをコピーする最適な方法を理解したいと思います。Python:2つのリモートサーバー間でファイルをコピーする
私のセットアップは次のようになります。
+--------------+
| Server A |
+--------------+
| Build Server |
+--------------+
|
|
+-------------+
| Server B |
+-------------+
| Python Code |
+-------------+
|
|
+------------+
| Server C |
+------------+
| App Server |
+------------+
は私が持っているいくつかのRPMのビルドサーバーに保存されています。これらのバイナリは、私がこのボックスにインストールできるように、Appサーバーに転送する必要があります。
現在、私はPythonのParamikoライブラリ[sftp.getとsftp.put]を使用しており、サーバAからサーバBにバイナリを取得し、サーバBからサーバCに転送しています。バイナリはサーバーAからサーバーCに直接転送できますか?
、より正確にこのような何かを:
scp -3 [email protected]:/home/user1/file1.txt [email protected]:/home/user2/file1.txt
中間ホップを回避し、この種の。
提案/改善が大変ありがとうございます。
「scp」とは異なり、rsyncは2つのリモートホスト間でコピーすることはできません。 'rsync'コマンドを実行するには、リモートホストの1つに' ssh'する必要があります。 'scop'や' rsync'を呼び出すのに 'サブプロセス 'を使うだけでは、Pythonの実装を見つけるよりも良いかもしれませんが、私は同意します。 –
これはどうでしょうか? 'ssh user1 @ remote1 'rsync -avz/path/to/source user2 @ remote2:/ path/to/dest'' –