同じ低帯域幅ネットワークに2台のコンピュータがありますA
。B
A
B
できるだけ早くファイルをコピーしたいが、数秒後にタイムアウトすることがありますt
。転送プロセスがタイムアウトした場合は、最大3回まで再開できます。平均ファイルサイズは約50 MBで、かなりの違いがあります(一部のファイルは1 GBに近い)。
タイムアウトが発生しても、現在scp
圧縮-C
オプションを使用しています。t=300
プロセスは最大3回再試行されますが、通常は毎回タイムアウトします。scp
毎回再起動する必要があります。残念ながら、いくつかのアプリケーションロジックのために過去を増やすことはオプションではt=300
ありませんでした。
rsync
代わりにフラグを使用することを検討しています。-P
マニュアルページによると、rsync
以前の試行の進捗は一時ファイルに保持され、デルタ転送アルゴリズムが最後の部分の結果に適用されるようです。この場合、rsync
一般をお勧めしますかscp
、それともより速い選択肢がありますか??基本的にファイルをコピーするために使用されているrsync
ことを知っていますが、部分的な進行機能があるようには見えませscp
んscp
(これが間違っていることを願っています)。
ベストアンサー1
最初にすべきこと:ファイルをコピーするのではrsync
ありませんscp
。 (しかし、車両として使用することもできますssh
。それはあなたを混乱させるかもしれません。)
次のコマンドがある場合:
scp -pr /source/path/* remotehost:/destination/
次のように1対1に変更できます。
rsync -a /source/path/* remotehost:/destination/
*
この特別なケースには、このようにソースパスを最適化し、--partial --progress --verbose
再起動の可能性を向上させるためのフラグが含まれています(そして何が起こるのかを確認します)。/
ソースコードを保存したことに注意してください。これが重要ですrsync
。
rsync -avP /source/path/ remotehost:/destination/
このフラグを含めてこれを行わないと、何が起こるのかを確認できます--dry-run
。