あるリモートサーバーから別のリモートサーバーに並列にrsync 100ファイル(それぞれ30 GBサイズ)

あるリモートサーバーから別のリモートサーバーに並列にrsync 100ファイル(それぞれ30 GBサイズ)

あるリモートサーバーから別のリモートサーバーに30 GBのサイズの100ファイルを転送する必要があります。

転送したいファイルをすべてというファイルに保存しましたto_transfer。ほとんどのファイルはこの形式です。

  • 1.データ
  • 1.idx
  • 1. vif

すべてのファイルはn.dat、、、n.idxn.vif

このコマンドを使用しています。

rsync -azP --remove-source-files --progress --files-from=/storage/to_transfer /storage [email protected]:/tmp

これはファイルを1つずつ転送しますが、すべてのファイルを並列に移動したいと思い、帯域幅は1 GBit / sで保証されます。どうすれば最大限に活用できますか?

転送が完了したら、ファイルも削除します。

ベストアンサー1

https://www.gnu.org/software/parallel/man.html#例: -Parallelizing-rsync

cd src-dir
find . -type f |
  parallel -j10 rsync -zR -Ha ./{} fooserver:/dest-dir/

おすすめ記事