天道酬勤,学无止境

how to transfer data between local and remote server connected via intermediate server?

I can login by ssh -X servA from local, then ssh -X servB from servA

To copy data from local to servB, I scp files from local to servA, then from servA to servB.

Is it feasible to copy files from local to servB directly and vice versa?

评论

You can use nc (net cat) as a proxy for ssh.

So for your example, edit your ~/.ssh/config file to look like this:

Host servB
ProxyCommand ssh -q servA nc servB 22

As long as nc is in your path you should now be able to ssh or scp directory to servB

If you don't have nc you can do it with ssh -W if your version is new enough (>= OpenSSH 5.4),

Host ServB
  ProxyCommand ssh -W ServB:22 servA

This is what I usually do (I do it in a Mac machine don't know if it's different from a Windows machine):

Once you have set up connection with any of the servA or servB you can do:

Copy from local to servA or servB:

$ scp -P <port-number used>  <file location to copy from> <username_in servA/servB>@localhost:<file location to copy to>

NOTE: This works being in your local machine without ssh-ing to any of the servA/servB, just need to establish connection.

or from servA to servB:

$ scp -P <port-number used>  <username_in servA>@localhost:<file location to copy from> <port-number used> <username_in servB>@localhost:<file location to copy to>

NOTE: I haven't tried this scp from server to server but seems a little bit straight forward.

Just trying to help here.

受限制的 HTML

  • 允许的HTML标签:<a href hreflang> <em> <strong> <cite> <blockquote cite> <code> <ul type> <ol start type> <li> <dl> <dt> <dd> <h2 id> <h3 id> <h4 id> <h5 id> <h6 id>
  • 自动断行和分段。
  • 网页和电子邮件地址自动转换为链接。

相关推荐
  • 如何使用第三台本地计算机上的scp在两个远程服务器之间传输文件?(How to transfer a file between two remote servers using scp from a third, local machine?)
    问题 我试图将文件从一个远程服务器从我的本地机器复制到另一台远程服务器。 这就是我想要做的 localA $ scp userB@remoteB:/path/to/file userC@remoteC:/path 问题是我需要为远程计算机上的userB和userC传递两个密码。 根据Garron的说法,上述方法应该可行,但是我被拒绝了。 Permission denied (gssapi-keyex,gssapi-with-mic,publickey,keyboard-interactive). lost connection 有什么建议么? 回答1 超级用户已经存在以下问题: https://superuser.com/questions/686394/scp-between-two-remote-hosts-from-my-third-pc scp -3 user1@remote1:/home/user1/file1.txt user2@remote2:/home/user2/file1.txt 如前所述,-3选项指示scp通过发出该命令的PC路由流量。 如果remote1和remote2在同一网络上,则以上内容是正确的。 否则:-您必须使用端口转发 回答2 如果您可以从本地(本地-> remote1和本地-> remote2)ssh到两个远程服务器,则可以尝试: ssh -A
  • 计算机网络第六章:应用层
    目录 1 域名系统 DNS1.1 域名系统概述1.2 因特网的域名结构1.3 域名服务器 2 文件传送协议2.1 FTP概述2.2 FTP 的基本工作原理 3 按远程终端协议 TELNET4 万维网 WWW4.1 万维网概述4.2 统一资源定位符 URL4.3 超文本传送协议 HTTP 5 电子邮件5.1 概述5.2 简单邮件传送协议 SMTP5.3 电子邮件的信息格式5.4 邮件读取协议 POP3 和 IMAP 6 动态主机配置协议 DHCP 1 域名系统 DNS 1.1 域名系统概述 许多应用层软件经常直接使用域名系统 DNS (Domain Name System),但计算机的用户只是间接而不是直接使用域名系统因特网采用层次结构的命名树作为主机的名字,并使用分布式的域名系统 DNS名字到 IP 地址的解析是由若干个域名服务器程序完成的。域名服务器程序在专设的结点上运行,运行该程序的机器称为域名服务器 1.2 因特网的域名结构 因特网采用了层次树状结构的命名方法任何一个连接在因特网上的主机或路由器,都有一个唯一的层次结构的名字,即域名域名的结构由标号序列组成,各标号之间用点隔开,各标号分别代表不同级别的域名 域名只是个逻辑概念: 域名只是个逻辑概念,并不代表计算机所在的物理地点变长的域名和使用有助记忆的字符串,是为了便于人来使用。而 IP 地址是定长的 32
  • 常用DOS命令大全
    DOS命令大全 Dos和windows最大的不同在于Dos命令方式操作,所以使用者需要记住大量命令及其格式使用方法,Dos命令分为内部命令和外部命令,内部命令是随每次启动的command.com装入并常驻内存,而外部命令是一条单独的可执行文件。在操作时要记住的是,内部命令在任何时候都可以使用,而外部命令需要保证命令文件在当前的目录中,或在autoexec.bat文件已经被加载了路径。 常用的内部命令   dos的内部命令是dos操作的基础,下面就来介绍一些常用的dos内部命令。 1、dir   含义:显示指定路径上所有文件或目录的信息   格式:dir [盘符:][路径][文件名] [参数]   参数:   /w:宽屏显示,一排显示5个文件名,而不会显示修改时间,文件大小等信息;   /p:分页显示,当屏幕无法将信息完全显示时,可使用其进行分页显示;   /a:显示具有特殊属性的文件;   /s:显示当前目录及其子目录rd下所有的文件。   举例:dir /p   将分屏显示当前目录下文件。在当前屏最后有一个“press any key to continue . . .”提示,表示按任意键继续。 2、cd   含义:进入指定目录   格式:cd [路径]   举例:cd dos   cd命令只能进入当前盘符中的目录,其中“cd\”为返回到根目录,“cd..”为返回到上一层目录。
  • 在不使用中间文件的情况下将内存中的数据传输到FTP服务器(Transfer in-memory data to FTP server without using intermediate file)
    问题 我有一些用PHP的json_encode()编码的JSON数据,看起来像这样: { "site": "site1", "nbrSicEnt": 85, } 我要做的是将数据直接作为文件写到FTP服务器上。 出于安全原因,我不希望在将文件发送到FTP服务器之前先在本地创建文件,而是希望即时创建文件。 因此,例如,无需使用tmpfile() 。 当我阅读ftp_put的php文档ftp_put : bool ftp_put ( resource $ftp_stream , string $remote_file , string $local_file , int $mode [, int $startpos = 0 ] ) 在将其写入远程文件之前,需要先创建一个本地文件( string $local_file )。 我正在寻找一种直接写入remote_file的方法。 如何使用PHP做到这一点? 回答1 file_put_contents是最简单的解决方案: file_put_contents('ftp://username:pa‌​ssword@hostname/path/to/file', $contents); 如果不起作用,可能是因为您没有在PHP中启用URL包装器。 如果您需要更好地控制写入(传输模式,被动模式,偏移量,读取限制等),请使用ftp_fput和php:/
  • Linux - 通过SecureCRT的rz、sz和sftp实现文件的上传和下载
    SecureCRT如何上传/下载文件? 服务器不能使用外网, 导致lrzsz软件无法安装时又该如何上传/下载文件? sftp如何上传/下载文件? 本篇文章详细告诉你要如何解决这些问题.目录1 通过rz/sz命令上传/下载1.1 安装lrzsz软件1.2 rz - 上传文件1.3 sz - 下载文件2 通过sftp上传/下载文件2.1 关于SFTP的简介2.2 SFTP与FTP的区别2.3 使用SFTP之前的工作2.4 sftp - 上传文件2.5 sftp - 下载文件参考版权声明SecureCRT中有以下文件传输协议:① ASCII: 最快的传输协议, 但只能传送文本文件;② Xmodem: 古老的传输协议, 速度较慢, 但使用了CRC错误侦测方法, 传输的准确率可高达99.6%;③ Ymodem: 是Xmodem的改良版, 使用了1024位区段传送, 速度比Xmodem快;④ Zmodem: Zmodem采用了串流式(streaming)传输方式, 传输速度较快, 而且还具有自动改变区段大小和断点续传、快速错误侦测等功能.Zmodem是目前最流行的文件传输协议, 下述的rz/sz命令就是通过Zmodem模式传输文件.1 通过rz/sz命令上传/下载1.1 安装lrzsz软件[root@host-10-0-20-50 ~]# sudo yum install -y
  • 应用层学习笔记三.文件传输协议FTP
    用户通过一个FTP用户代理和FTP交互。 用户提供远程主机的主机名,本地的FTP客户进程建立一个到远程主机FTP服务器进程的TCP连接用户提供用户标识和口令,作为FTP命令的一部分在该TCP连接上传送服务器向用户授权,用户可以将存放在本地文件系统中的多个文件复制到远程文件系统 HTTP和FTP都是建立在TCP上的应用层文件传输协议。 FTP使用了两个并行的TCP连接来传输文件: 控制连接:用于在两主机之间传输控制消息,如用户标识、口令、改变远程目录的命令以及存放/获取文件的命令数据连接:用于实际发送一个文件 FTP的控制信息是带外传送的。HTTP是带内发送控制信息的。 用户主机与远程主机开启一个FTP会话时: FTP的客户端在服务器21号端口与服务器端发起一个用于控制的TCP连接FTP的客户端通过控制连接发送用户的表示和口令,发送改变远程目录的命令当FTP的服务器端从该连接上收到一个文件传输的命令后,就发起一个到客户端的TCP数据连接FTP在数据连接上传送一个文件,然后关闭该连接 注意: 在同一个会话期间,如果用户还需要传输另外一个文件,FTP打开另一个数据连接对于控制连接,贯穿于整个会话期间FTP服务器必须在整个会话期间保留用户的状态,是有状态的 FTP命令和回答 以7比特ASCII格式在控制连接上传送。每个命令由4个大写字母ASCII字符组成 User username
  • 推送到 webroot 上方的托管项目(Pushing to Hosted project above webroot)
    问题 我在DreamHost托管了一个CakePHP应用程序 - 并在我的 MacBook 上本地复制了它。 我试图建立我的环境,这样我可以在MacBook上的发展,推动了网站托管在必要时-但无法弄清楚如何设置git从当地推动远程当远程文件是上面的webroot 。 如何设置我的本地 git 以推送到托管应用程序上 webroot 上方的文件? 谢谢! 回答1 但是当远程文件位于 webroot 之上时,无法弄清楚如何设置 git 从本地推送到远程。 要设置存储库,您需要一个中间存储库作为参考点。 现在这个 repo 可以在一个托管站点上,比如github或bitbucket ,或者它可以是你服务器上的一个裸仓库。 (注意-bitbucket 为少量用户提供免费的私人存储库) 裸存储库的优点是您可以规避与在服务器、在线服务和您的开发机器之间设置ssh机制相关的任何问题。 缺点是如果您的服务器出现故障,服务器上的所有代码都会丢失,尽管您的开发机器上仍然会有它的副本,因此并非所有代码都会丢失。 步骤1 因此,让我们假设您继续使用裸仓库。 如果您将使用 bitbucket/github,请忽略此步骤。 为此,我们需要在您的服务器上创建一个如下所示的裸仓库: ssh user@myserver cd /some/isolated/location git init --bare
  • 2020 Java面试题最新(八微服务篇)
    伴随着万物互联的时代的到来,现在众多公司都做分布式 微服务架构,所以面试中对于这些微服务的问题一定会问到 我个人和身边朋友没有太多的微服务方面的面试经验吧,所以总结的有不足的希望大家多多指出,我也好纠正,帮助大家,帮助更多的朋友 1.说说前后端分离是如何做的 在前后端分离架构中,后端只需要负责按照约定的数据格式向前端提供可调用的 API 服务即可。前后端之间通过 HTTP 请求进行交互,前端获取到数据后,进行页面的组装和渲染,最终返回给浏览器 2.如何解决跨域 跨域,指的是浏览器不能执行其他网站的脚本。它是由浏览器的同源策略造成的,是浏览器对 JavaScript 施加的安全限制 什么是同源? 所谓同源是指,域名,协议,端口均相同 http://www.baidu.com --> http://admin.baidu.com 跨域http://www.baidu.com --> http://www.baidu.com 非跨域http://www.baidu.com --> http://www.baidu.com:8080 跨域http://www.baidu.com --> https://www.baidu.com 跨域 使用 CORS(跨资源共享)解决跨域问题 CORS 是一个 W3C 标准,全称是"跨域资源共享"(Cross-origin resource sharing
  • 计算机网络题库——第6章 应用层
    第 6 章 应用层 一、选择题 1.以下关于P2P 概念的描述中,错误的是( )。 A.P2P 是网络结点之间采取对等的方式直接交换信息的工作模式 B.P2P 通信模式是指P2P 网络中对等结点之间的直接通信能力 C.P2P 网络是指与互联网并行建设的、由对等结点组成的物理网络 D.P2P 实现技术是指为实现对等结点之间直接通信的功能所需要设计的协议、软件等 【答案】C 【解析】选项 C 中“P2P 网络是一种物理网络”的描述是错误的。P2P 网络是指在互联网中由对等结点组成的一种覆盖网络(Overlay Network),是一种动态的逻辑网络。另外,对等结点之间具有直接通信的能力是P2P 的显著特点。 2.下面关于客户服务器模型的描述,( )存在错误。 Ⅰ.客户端必须提前知道服务器的地址,而服务器则不需要提前知道客户端的地址 Ⅱ.客户端主要实现如何显示信息与收集用户的输入,而服务器主要实现数据的处理 Ⅲ.浏览器显示的内容来自服务器 Ⅳ.客户端是请求方,即使连接建立后,服务器也不能主动发送数据 A.Ⅰ、Ⅳ B.Ⅲ、Ⅳ C.只有Ⅳ D.只有Ⅲ 【答案】C 【解析】在连接未建立前,服务器在某一个端口上监听。客户端是连接的请求方,客户端必须事先知道服务器的地址才能发出连接请求,而服务器则从客户端发来的数据包中获取客户端的地址。一旦连接建立后,服务器就能响应客户端请求的内容
  • Transfer in-memory data to FTP server without using intermediate file
    I am having some JSON data that I encoded it with PHP's json_encode(), it looks like this: { "site": "site1", "nbrSicEnt": 85, } What I want to do is to write the data directly as a file onto an FTP server. For security reasons, I don't want the file to be created locally first before sending it to the FTP server, I want it to be created on the fly. So without using tmpfile() for example. When I read the php documentations for ftp_put: bool ftp_put ( resource $ftp_stream , string $remote_file , string $local_file , int $mode [, int $startpos = 0 ] ) Ones needs to create a local file (string
  • Java的Jdbc和Servlet&Jsp面试题
    servlet的内容 2、HTTP 请求的 GET 与 POST 方式的区别 答:servlet 有良好的生存期的定义,包括加载和实例化、初始化、处理请求以及服务结束。 这个生存期由 javax.servlet.Servlet 接口的 init,service 和 destroy 方法表达。 3、解释一下什么是 servlet; 答:servlet 有良好的生存期的定义,包括加载和实例化、初始化、处理请求以及服务结束。 这个生存期由 javax.servlet.Servlet 接口的 init,service 和 destroy 方法表达。 4、说一说 Servlet 的生命周期? 答:servlet 有良好的生存期的定义,包括加载和实例化、初始化、处理请求以及服务结束。 这个生存期由 javax.servlet.Servlet 接口的 init,service 和 destroy 方法表达。 Servlet 被服务器实例化后,容器运行其 init 方法,请求到达时运行其 service 方法,service 方法自动派遣运行与请求对应的 doXXX 方法(doGet,doPost)等,当服务器决定将实例销 毁的时候调用其 destroy 方法。 web 容器加载 servlet,生命周期开始。通过调用 servlet 的 init()方法进行 servlet 的初始化。 通过调用
  • 使用Paramiko进行目录转移(Directory transfers with Paramiko)
    问题 您如何使用Paramiko传输完整目录? 我正在尝试使用: sftp.put("/Folder1","/Folder2") 这给了我这个错误- Error : [Errno 21] Is a directory 回答1 您将需要像使用python在本地那样进行此操作(如果您未使用Shutils)。 结合使用os.walk()和sftp.mkdir()和sftp.put() 。 您可能还想使用os.path.islink()检查每个文件和目录,这取决于您是否要解析符号链接。 回答2 您可以继承paramiko.SFTPClient并将其添加以下方法: import paramiko import os class MySFTPClient(paramiko.SFTPClient): def put_dir(self, source, target): ''' Uploads the contents of the source directory to the target path. The target directory needs to exists. All subdirectories in source are created under target. ''' for item in os.listdir(source): if os.path.isfile
  • 两个Wifi设备之间的数据传输(Data transfer between two Wifi devices)
    问题 我已经在Google中搜索过。 在Android 2.2和sdk 8中,如何在Android的列表中使用SSID? 通过使用SSID,应以编程方式获取特定的启用wifi的设备属性。 在该帮助下,应在Android中两个启用了Wifi的设备之间传输数据。 回答1 要以有意义的方式在两个Android设备之间发送数据,您可以使用TCP连接。 为此,您需要IP地址和另一台设备正在侦听的端口。 例子是从这里开始的。 对于服务器端(侦听端),您需要一个服务器套接字: try { Boolean end = false; ServerSocket ss = new ServerSocket(12345); while(!end){ //Server is waiting for client here, if needed Socket s = ss.accept(); BufferedReader input = new BufferedReader(new InputStreamReader(s.getInputStream())); PrintWriter output = new PrintWriter(s.getOutputStream(),true); //Autoflush String st = input.readLine(); Log.d("Tcp Example"
  • 如何通过 VMware 容灾技术快速构建 PaaS 层异地容灾平台? | 运维进阶
    一、 前言随着虚拟化技术应用越来越普及,越来越多的重要业务系统都运行在虚拟化平台,如果当生产机房遭遇地震、火灾、水灾、断电等等,如何保障其业务系统能在短时间内进行快速恢复?有没有???除了采用较高成本存储复制技术实现异地容灾备份以外,还有较少预算投入或免费方案实现业务系统异地容灾备份?有没有???对于不同单位之间的虚拟化平台,能通过较低的成本实现业务虚拟机互备?有没有???部署简单,容易管理、方便维护的虚拟化异地灾备方案?答案: “有!!! ”下面给大家重点介绍VMware vSphere Replication 复制技术,通过实战操作,让你了解如何快速构建VMware 虚拟化平台异地容灾平台,实现业务异地备份。二、 VMware 容灾技术实现1. VMware vSphere Replication概览VMware vSphere Replication 是 VMware vCenter Server 的扩展,提供基于管理程序的虚拟机复制和恢复功能。vSphere Replication 是基于存储的复制的一个备用方案。它可以通过在以下站点之间复制虚拟机来保护虚拟机,以免出现部分或整个站点故障:从源站点到目标站点在一个站点中从一个群集到另一个群集从多个源站点到一个共享远程目标站点与基于存储的复制相比较,vSphere Replication 提供了多种益处
  • 如何通过 VMware 容灾技术快速构建 PaaS 层异地容灾平台? | 运维进阶
    一、 前言随着虚拟化技术应用越来越普及,越来越多的重要业务系统都运行在虚拟化平台,如果当生产机房遭遇地震、火灾、水灾、断电等等,如何保障其业务系统能在短时间内进行快速恢复?有没有???除了采用较高成本存储复制技术实现异地容灾备份以外,还有较少预算投入或免费方案实现业务系统异地容灾备份?有没有???对于不同单位之间的虚拟化平台,能通过较低的成本实现业务虚拟机互备?有没有???部署简单,容易管理、方便维护的虚拟化异地灾备方案?答案: “有!!! ”下面给大家重点介绍VMware vSphere Replication 复制技术,通过实战操作,让你了解如何快速构建VMware 虚拟化平台异地容灾平台,实现业务异地备份。二、 VMware 容灾技术实现1. VMware vSphere Replication概览VMware vSphere Replication 是 VMware vCenter Server 的扩展,提供基于管理程序的虚拟机复制和恢复功能。vSphere Replication 是基于存储的复制的一个备用方案。它可以通过在以下站点之间复制虚拟机来保护虚拟机,以免出现部分或整个站点故障:从源站点到目标站点在一个站点中从一个群集到另一个群集从多个源站点到一个共享远程目标站点与基于存储的复制相比较,vSphere Replication 提供了多种益处
  • 文件传输协议汇总
    文章目录 一、FTP(File Transfer Protocol 文件传输协议)(一)FTP 通讯端口(二)FTP 支持两种连接模式(三)缺点(四)FTP 命令(五)FTP 响应码(六)FTP 术语 二、HTTP(超文本传输协议)三、FTPS(基于 SSL 的 FTP)四、SFTP(安全文件传输协议)(一)优点(二)缺点(三)SFTP 和 FTPS 对比(四)支持 FTPS 和 SFTP 的服务器软件 五、HTTPS(基于 SSL 的 HTTP)六、SCP(安全副本)(一)命令参数 七、WebDAV(Web分布式创作和版本控制)八、WebDAVS九、TFTP(临时文件传输协议)十、AS2(Applicability Statement 2)十一、OFTP(Odette文件传输协议)十二、AFTP(加速文件传输协议)十三、TCP(传输控制协议)(一)TCP 与 UDP 的基本区别(二)TCP 与 UDP 的应用场景 十四、UDP(User Datagram Protocol)十五、FTP over SSH2十六、TFTP (简单文件传输协议)(一)TFTP协议的优势(二)TFTP协议与FTP协议的不同点(三)命令参数 一、FTP(File Transfer Protocol 文件传输协议) 目前在网络上,如果你想把文件和其他人共享。最方便的办法莫过于将文件放 FTP 服务器上
  • 计算机网络【谢希仁第七版】第六章【应用层】
    应用层的具体内容就是规定应用进程在通信时所遵循的协议。 6.1 域名解析系统DNS 6.1.1 域名系统概述 域名系统DNS(Domain Name System)是互联网使用的命名系统,用来把便于入门使用的机器名字转换成IP地址。 因特网采用层次结构的命名树作为主机的名字,并使用分布式的域名系统 DNS,大部分名字都在本地解析解析。名字到 IP 地址的解析是由若干个域名服务器程序完成的。域名服务器程序在专设的结点上运行,运行该程序的机器称为域名服务器。 6.1.2 互联网的域名结构 因特网采用了层次树状结构的命名方法。任何一个连接在因特网上的主机或路由器,都有一个唯一的层次结构的名字,即域名。域名的结构由标号序列组成,各标号之间用点 隔开: … . 三级域名 . 二级域名 . 顶级域名各标号分别代表不同级别的域名 顶级域名: (1) 国家顶级域名 nTLD:如: .cn 表示中 国,.us 表示美国,.uk 表示英国,等等。 (2) 通用顶级域名 gTLD:最早的顶级域名是:.com (公司和企业)、.net (网络服务机构)、.org (非赢利性组织)等等 6.1.3 域名服务器 域名服务器有以下四种类型: 根域名服务器:最高层次的域名服务器,根域名服务器是最重要的域名服务器。所有的根域名服务器都知道所有的顶级域名服务器的域名和 IP 地址顶级域名服务器
  • 带有/不带有硒的量角器的区别运行?(Difference running Protractor with/without Selenium?)
    问题 查看量角器文档,我看到有一个选项,可以在不使用directConnect: true标志的情况下不使用Selenium服务器的情况下运行量角器。 使用硒服务器和不使用硒服务器运行量角器测试之间的区别是什么,除了后者仅支持Chrome,Firefox之外? 回答1 首先,当前,您有5种不同的内置选项/方式来连接浏览器驱动程序: 指定seleniumServerJar以在本地启动selenium独立服务器指定seleniumAddress以连接到正在运行的硒服务器(本地或远程) 设置sauceUser和sauceKey以连接到Sauce Labs远程硒服务器设置browserstackUser和browserstackKey以通过BrowserStack使用远程Selenium服务器使用directConnect连接到Chrome或Firefox。 您还可以使用其他chromeDriver和firefoxPath设置来定义自定义Chrome驱动程序和Firefox应用程序二进制位置。 前四个选项基本上是通过“代理服务器”(硒服务器)工作的: 服务器充当您的测试脚本(使用WebDriver API编写)和浏览器驱动程序(由WebDriver协议控制)之间的代理。 服务器将命令从脚本转发到驱动程序,并将响应从驱动程序返回到脚本。
  • Linux - Rsync 备份服务器
    1.rsync 基本概述 rsync是一款开源、快速、多功能、可实现全量及增量的本地或远程数据同步备份的优秀工具。rsync软件适用于Unix/linux/Windows等多种操作系统平台。 2.rsync 简介 rsync英文称为remote synchronization,从软件的名称就可以看出来,rsync具有可使本地和远程两台主机之间的数据快速复制同步镜像、远程备份的功能,这个功能类似于ssh带的scp命令,但是又优于scp命令的功能,scp每次都是全量拷贝,而rsync可以增量拷贝。当然,rsync还可以在本地主机的不同分区或目录之间全量及曾量的复制数据,这又类似cp命令。但是同样也优于cp命令,cp每次都是全量拷贝,而rsync可以增量拷贝。 在同步数据的时候,默认情况下,rsync通过其独特的“quick check”算法,它仅同步大小或者最后修改时间发生变化的文件或目录,当然也可根据权限、属主等属性的变化同步,但是需要制定相应的参数,甚至可以实现只同步一个文件里有变化的内容部分,所以,可是实现快速的同步备份数据。 rsync监听端口:873 rsync运行模式:C/S PS:利用rsync还可以实现删除文件和目录的功能,这又相当于rm命令,一个rsync相当于scp、cp、rm,但是还优于他们的每一个命令。 3.rsync的特性 优点 支持拷贝特殊文件,如连接文件
  • 如何使用Ansible在两个节点之间复制文件(How to copy files between two nodes using ansible)
    问题 我需要将文件从机器A复制到机器B,而运行我所有可完成任务的控制机器是机器C(本地机器) 我尝试了以下方法: 在ansible的shell模块中使用scp命令 hosts: machine2 user: user2 tasks: - name: Copy file from machine1 to machine2 shell: scp user1@machine1:/path-of-file/file1 /home/user2/file1 这种方法永无止境。 使用提取和复制模块 hosts: machine1 user: user1 tasks: - name: copy file from machine1 to local fetch: src=/path-of-file/file1 dest=/path-of-file/file1 hosts: machine2 user: user2 tasks: - name: copy file from local to machine2 copy: src=/path-of-file/file1 dest=/path-of-file/file1 这种方法给我抛出如下错误: error while accessing the file /Users/<myusername>/.ansible/cp/ansible-ssh