【问题标题】:Remote rsync in parallel并行远程同步
【发布时间】: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


    【解决方案1】:

    由于您将问题标记为“gnu-parallel”,因此很明显将您推荐给http://www.gnu.org/software/parallel/man.html#EXAMPLE:-Parallelizing-rsync

    cd src-dir; find . -type f -size +100000 | parallel -v ssh fooserver mkdir -p /dest-dir/{//}\;rsync -Havessh {} fooserver:/dest-dir/{}
    

    【讨论】:

    • 谢谢@ole-tange。我试过了,但我无法让它工作。 /bin/bash -c mkdir /bin/bash -c -p /bin/bash: myserver: 找不到命令 mkdir: 缺少操作数 试试 `mkdir --help' 以获得更多信息。 /bin/bash -c /home/myhome/srcfolder/synced/\{//\}\ /bin/bash: -c: 选项需要参数 /bin/bash: /home/myhome/srcfolder/synced/{/ /}:没有这样的文件或目录发送增量文件列表rsync:link_stat“/home/myhome/497/synced/{}”失败:没有这样的文件或目录(2)发送12字节接收12字节16.00字节/秒总大小是 0 加速是 0.00 rsync 错误:一些文件/属性是...
    • @user1891812 你被stackoverflow.com/questions/16448887/…打了吗
    • 这就是问题所在。我会将你的答案包含在我的测试中。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-03-05
    • 2013-03-07
    • 1970-01-01
    • 2011-07-14
    • 1970-01-01
    • 1970-01-01
    • 2015-11-06
    相关资源
    最近更新 更多