하나의 원격 서버에서 다른 원격 서버로 병렬로 rsync 100개 파일(각각 30GB 크기)

하나의 원격 서버에서 다른 원격 서버로 병렬로 rsync 100개 파일(각각 30GB 크기)

한 원격 서버에서 다른 원격 서버로 30GB 크기의 파일 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

이렇게 하면 파일이 하나씩 전송되지만 모든 파일을 병렬로 이동하고 싶고 대역폭은 1GBit/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/

관련 정보