あるリモートサーバーから別のリモートサーバーに30 GBのサイズの100ファイルを転送する必要があります。
転送したいファイルをすべてというファイルに保存しましたto_transfer
。ほとんどのファイルはこの形式です。
- 1.データ
- 1.idx
- 1. vif
すべてのファイルはn.dat
、、、n.idx
。n.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/