【发布时间】:2014-03-17 05:50:35
【问题描述】:
我正在尝试通过 ssh 并行运行 rsync 以在两台机器之间传输文件以进行评估。我想看看与单个 rsync 进程相比,我能获得多快。
我尝试了这两种解决方案: https://wiki.ncsa.illinois.edu/display/~wglick/Parallel+Rsync 但没有取得巨大成功。 https://gist.github.com/rcoup/5358786(我做不到)
基于first link,我运行如下命令:
ssh HOST "mkdir -p ~/destdir/basefolder"
cd ./basefolder; ls | xargs -n1 -P 4 -I% rsync -arvuz -e ssh % HOST:~/destdir/basefolder/.
我得到了文件传输,但它似乎不能很好地工作......在这种情况下,它将为基础文件夹中的每个文件和文件夹运行一个进程,但是当它找到一个文件夹时,它将传输该文件夹中的所有内容仅使用 1 个进程。
我尝试使用 find -type f,但我遇到了问题,因为我松散了文件层次结构。
有人有什么方法可以做我想做的事吗? (在 ssh 上并行使用 rsync,同时保持文件和文件夹层次结构)。
【问题讨论】:
标签: ssh rsync xargs gnu-parallel