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

rsync – 在两台远程计算机之间复制大文件 – 高效

发布时间:2020-12-13 18:20:04 所属栏目:Linux 来源:网络整理
导读:我有一个 shell脚本,它不断在远程系统之间复制大文件(2 GB到5 GB). 基于密钥的身份验证与代理转发一起使用,一切正常. 例如:假设shell脚本在机器A上运行并将文件从机器B复制到机器C. "scp -Cp -i private-key ssh_user@source-IP:source-path ssh_user@desti
我有一个 shell脚本,它不断在远程系统之间复制大文件(2 GB到5 GB).
基于密钥的身份验证与代理转发一起使用,一切正常.
例如:假设shell脚本在机器A上运行并将文件从机器B复制到机器C.
"scp -Cp -i private-key ssh_user@source-IP:source-path ssh_user@destination-IP:destination-path"

现在问题是进程sshd不断占用CPU负载.
例如:目的地机器上的顶部-c(即机器-C)显示

  PID USER      PR  NI  VIRT  RES  SHR S %CPU %MEM    TIME+  COMMAND                                                                         
14580 ssh_user  20   0 99336 3064  772 R 85.8  0.0   0:05.39 sshd: ssh_user@notty                                                            
14581 ssh_user  20   0 55164 1984 1460 S  6.0  0.0   0:00.51 scp -p -d -t /home/binary/instances/instance-1/user-2993/

这导致高负载平均值.

我相信scp因为加密/解密数据而占用了大量CPU.但我不需要加密数据传输,因为机器B和机器C都在局域网中.

我还有其他选择吗?我认为’rsync’.但是rsync手册页说:

GENERAL
       Rsync  copies files either to or from a remote host,or locally on the current host (it does not support copying files between two
       remote hosts).

编辑1:我已经在使用ssh cipher = arcfour128.虽然改善不大,但这并没有解决我的问题.

编辑2:在机器上运行的其他二进制文件(我的主应用程序)和高负载平均值导致它们表现不佳.

解决方法

使用rsync可以解决此问题.至少这种解决方案在性能方面应具有竞争力.

首先,可以从其中一个远程系统调用rsync,以克服无法直接在两个远程系统之间进行复制的限制.

其次,通过在守护程序访问模式而不是远程Shell访问模式下运行rsync,可以避免加密/解密.

在守护程序访问模式下,rsync不会通过ssh连接隧道传输流量.相反,它在TCP之上使用自己的协议.

通常,您从inet.d或独立运行rsync守护程序.无论如何,这需要root访问其中一个远程系统.假设根访问不可用,仍然可以启动守护程序.

将rsync守护程序作为目标计算机上的非特权用户启动

ssh -i private_key ssh_user@destination-IP 
       "echo -e 'pid file = /tmp/rsyncd.pidnport = 1873' > /tmp/rsyncd.conf

ssh -i private_key ssh_user@destination-IP 
       rsync --config=/tmp/rsyncd.conf --daemon

实际上复制文件

ssh -i private_key ssh_user@source_ip 
       "rsync [OPTIONS] source-path 
              rsync://ssh_user@destination-IP:1873:destination-path"

(编辑:李大同)

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

    推荐文章
      热点阅读