加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > Linux > 正文

linux – 如何在我的下面的shell脚本中使用rsync而不是scp来复制

发布时间:2020-12-14 01:19:30 所属栏目:Linux 来源:网络整理
导读:我正在使用scp并行使用GNU并行复制文件与我的下面的 shell脚本,它工作正常. 我不知道如何在下面的shell脚本中使用rsync代替scp.我试图看看rsync与传输速度方面的scp相比是否会有更好的性能. 以下是我的问题描述 – 当我在machineA上运行我的下面的shell脚本
我正在使用scp并行使用GNU并行复制文件与我的下面的 shell脚本,它工作正常.

我不知道如何在下面的shell脚本中使用rsync代替scp.我试图看看rsync与传输速度方面的scp相比是否会有更好的性能.

以下是我的问题描述 –

当我在machineA上运行我的下面的shell脚本时,我正在将文件从machineB和machineC复制到machineA中.

如果文件不在machineB中,那么它应该在machineC中,因为我会首先尝试从machineB复制文件,如果它不在machineB中,那么我将尝试从machineC复制相同的文件.

我使用GNU Parallel库并行复制文件,它工作正常.目前我正在为PRIMARY和SECONDARY并行复制五个文件.

下面是我的shell脚本 – 我有 –

#!/bin/bash

export PRIMARY=/test01/primary
export SECONDARY=/test02/secondary
readonly FILERS_LOCATION=(machineB machineC)
export FILERS_LOCATION_1=${FILERS_LOCATION[0]}
export FILERS_LOCATION_2=${FILERS_LOCATION[1]}
PRIMARY_PARTITION=(550 274 2 546 278) # this will have more file numbers
SECONDARY_PARTITION=(1643 1103 1372 1096 1369 1568) # this will have more file numbers

export dir3=/testing/snapshot/20140103

do_Copy() {
  el=$1
  PRIMSEC=$2
  scp david@$FILERS_LOCATION_1:$dir3/new_weekly_2014_"$el"_200003_5.data $PRIMSEC/. || scp david@$FILERS_LOCATION_2:$dir3/new_weekly_2014_"$el"_200003_5.data $PRIMSEC/.
}
export -f do_Copy

parallel --retries 10 -j 5 do_Copy {} $PRIMARY ::: "${PRIMARY_PARTITION[@]}" &
parallel --retries 10 -j 5 do_Copy {} $SECONDARY ::: "${SECONDARY_PARTITION[@]}" &
wait

echo "All files copied."

有没有办法用rsync替换我的上面的scp命令,但是我还想同时为PRIMARY和SECONDARY并行复制5个文件?

解决方法

rsync旨在有效地同步文件夹和文件的两个层次结构.

虽然它可以用来传输单个文件,但是除非你已经在每一端都有一个版本的文件,它们之间的差别很小,否则它对你的使用非常有帮助.在层次结构中的各个文件上并行运行多个rsync实例会破坏该工具的用途.

虽然三元组是正确的,你的任务是I / O绑定而不是CPU绑定,因此在典型的情况下并行化任务无助于你使用rsync还是scp,有一种情况是并行化网络传输可以提供帮助:如果发件人限制请求.在这种情况下,为许多不同的文件夹中的每一个运行rsync实例可能有一些价值,但它会使您的代码复杂化,并且您必须分析这两个解决方案以发现您是否真正获得了任何好处.

简而言之:只运行一个rsync实例;你从另一种方法中获得的性能提升不太可能是值得的.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读