首页 > 其他分享 >rsync从远端到远端

rsync从远端到远端

时间:2023-08-08 09:55:22浏览次数:30  
标签:rsync TARGET echo SOURCE HOST ssh 远端

环境:rsync中间机,源机host1,目标机host2

方案1. 先挂载

对于rsync来说,先挂载再拷贝有点多余,反正也是一个方案

注:sshfs需要从epel源中下载(当然nfs,ftp,等挂载也行)

例:

$ mkdir host1 host2
$ sshfs user1@host1:/path1 ./host1
$ sshfs user2@host2:/path2 ./host2
$ rsync -a ./host1/ ./host2/

方案2:一个挂载,一个rsync

算是一个,常用方案

挂载到中间机,上再进行rsync拷贝

mount -t nfs host2_ip:/tmp/share  /mnt/rsync
rsync -avzr --partial --progress --checksum --log-file=/var/log/rsync.log root@host1_ip:/share /mnt/rsync

 

方案3:远端到远端

利用ssh隧道技术,让rsync通过隧道直接连接

ssh -R 50000:host2:22 host1 'rsync -e "ssh -p 50000" -vuar /host1/path localhost:/host2/path'

脚本示例1

SOURCE_USER=user1
SOURCE_HOST=hostname1
SOURCE_PATH=path1

TARGET_USER=user2
TARGET_HOST=host2
TARGET_PATH=path2

ssh -l $TARGET_USER -A -R localhost:22000:$TARGET_HOST:22 \
$SOURCE_USER@$SOURCE_HOST "rsync -e 'ssh -p 22000' -vuar $SOURCE_PATH \
$TARGET_USER@localhost:$TARGET_PATH"

脚本示例2

echo -n "Test: ssh to $SOURCE_HOST: "
ssh $SOURCE_HOST echo PASSED| grep PASSED || exit 3

echo -n "Verifying path in $SOURCE_HOST "
ssh $SOURCE_HOST stat $SOURCE_PATH | grep "File:" || exit 5

echo -n "Verifying path in $TARGET_HOST "
ssh $TARGET_HOST stat $TARGET_PATH | grep "File:" || exit 5

echo "configuring ssh from $SOURCE_HOST to $TARGET_HOST via locahost"
ssh $SOURCE_HOST "echo \"Host tmpsshrs; ControlMaster auto; ControlPath /tmp/%u_%r@%h:%p; hostname localhost; port $FREE_PORT; user $TARGET_USER\" | tr ';' '\n'  > /tmp/tmpsshrs"

# The ssh options that will setup the tunnel
TUNNEL="-R localhost:$FREE_PORT:$TARGET_ADDR_PORT"

echo 
echo -n "Test: ssh to $SOURCE_HOST then to $TARGET_HOST: "
if ! ssh -A $TUNNEL $SOURCE_HOST "ssh -A -F /tmp/tmpsshrs tmpsshrs echo PASSED" | grep PASSED ; then
        echo
        echo "Direct authentication failed, will use plan #B:"
        echo "Please open another terminal, execute the following command"
        echo "and leave the session running until rsync finishes"
        echo "(if you're asked for password use the one for $TARGET_USER@$TARGET_HOST)"
        echo "   ssh -t -A $TUNNEL $SOURCE_HOST ssh -F /tmp/tmpsshrs tmpsshrs"
        read -p "Press [Enter] when done..."
fi

echo "Starting rsync"
ssh -A $TUNNEL $SOURCE_HOST "rsync -e 'ssh -F /tmp/tmpsshrs' $RSYNC_OPTS $SOURCE_PATH tmpsshrs:$TARGET_PATH"

echo
echo "Cleaning up"
ssh $SOURCE_HOST "rm /tmp/tmpsshrs"

 

标签:rsync,TARGET,echo,SOURCE,HOST,ssh,远端
From: https://www.cnblogs.com/santia-god/p/17612005.html

相关文章

  • 使用Rsync进行双机热备
              ......
  • [8月摸鱼计划] Win7安装远端网络驱动接口协议RNDIS驱动的方法
    内容摘要RNDIS也叫远端网络驱动接口协议,设备通过USB方式同主机连接,模拟网络连接以便用于下载和调试工作。RNDIS在Win7系统中扮有很重要的作用,但是很多用户表示Win7插上符合RNDIS文章正文RNDIS也叫远端网络驱动接口协议,设备通过USB方式同主机连接,模拟网络连接以便用于下载和......
  • Inofity-tools+Rsync实施复制实战
    Inofity-tools+Rsync实施复制实战一、先准备rsyncd服务环境1.快速的部署rsyncd服务端#!/bin/bashyuminstallrsync-ycat>/etc/rsyncd.conf<<'EOF'uid=wwwgid=wwwport=873fakesuper=yesusechroot=nomaxconnections=200timeout=600ignoree......
  • rsync 远程同步
    目录一、rsync同步简介二、rsync同步1.同步方式2.备份的方式三、rsync常用命令四、配置源的两种表达方法1.格式一2.格式二五、配置rsync下行同步(定时同步)1.环境2.配置rsync源服务器3.发送端4.检测六、rsync实时同步(上行同步)1.定期同步的不足2.实时同步的优点3.......
  • rsync 远程同步
    rsync远程同步可以完成数据的备份,确保数据的安全性,而且是增量备份,减少数据的存储大小。rsync是一个快速和非常方便的文件复制工具。他能本地复制,远程复制,或者远程守护进程方式复制。  目录一、rsync概述二、rsync作用三、rsync应用场景四、rsync命令五、搭建rsync六、......
  • lsyncd实时同步搭建指南——取代rsync+inotify
    1.几大实时同步工具比较1.1inotify+rsync最近一直在寻求生产服务服务器上的同步替代方案,原先使用的是 inotify+rsync,但随着文件数量的增大到100W+,目录下的文件列表就达20M,在网络状况不佳或者限速的情况下,变更的文件可能10来个才几M,却因此要发送的文件列表就达20M,严重减低的......
  • rsync
    rsync纯通过rsync的命令,来实现,数据目录A拷贝到数据目录B也就是模拟cp的用法很简单rsync[选项]源数据目的数据1.安装yuminstallrsync-y2.命令语法,分几个模式-本地模式rsync参数源路径目标路径rsync-avzP/var/log/tmp参数解释-v......
  • Rsync 备份服务搭建
    Rsync备份服务搭建目录Rsync备份服务搭建一.前言二.rsync和sersync2.1rsync基本语法2.2本地文件传输2.3ssh远程文件传输2.4基于服务远程主机文件传输三.部署rsync3.1项目要求3.2环境准备3.3搭建服务端rsync3.3搭建客户端rsync四.部署sersync4.1环境准备......
  • 远端ssh key失效Host key verification failed
    集群机器使用sshd-keygen配置了免密登录,然而登陆报错ERROR:Someonecouldbeeavesdroppingonyourightnow(man-in-the-middleattack)!ERROR:Itisalsopossiblethatahostkeyhasjustbeenchanged.ERROR:ThefingerprintfortheECDSAkeysentbytheremoteho......
  • 用rsync来同步mongodb的数据,可行吗?
    用rsync来同步mongodb的数据,可行吗?当涉及到数据的备份和同步时,rsync是一个非常常用的工具。那么,我们可以使用rsync来同步mongodb的数据吗?答案是肯定的。在本文中,我将介绍如何使用rsync来备份和同步mongodb的数据,并提供相应的代码示例。首先,让我们来了解一下rsync。rsync是一个......