如何在不先下载的情况下将文件从一台服务器复制到另一台服务器?


1

是否可以在不先下载的情况下将文件从一台服务器复制到另一台服务器?

我有一个10gb的备份文件,该文件要从生产服务器复制到暂存服务器。

目前,我只是通过Transmit进行操作,但这先下载文件,然后再上传。

有没有一种方法可以将文件从生产服务器直接移动到登台服务器?SCP是这样做还是先下载了它?rsync呢?

编辑

两者都是运行Ubuntu 14.04 LTS的Linux服务器。


您在问SCP是否可以解决您的问题。你知道SCP代表什么吗?您通常会从服务器B连接到服务器A,以执行您描述的操作。由于您在服务器配置中自动提供了零信息,因此您甚至无法选择是否使用SCP或SFTP。 您应该提供该信息。
拉姆猎犬,2016年

Answers:


5

正如您所提到的,我假设这些都是linux服务器(是的,我知道Windows有scp)。

只需ssh到其中一台服务器上,然后将文件直接scp到另一台服务器上即可。

scp file user@server:/location/

实际上,如果您的scp版本支持它(我没有使用过不支持该功能,但在线手册页似乎没有记录此功能),则可以使用-3,它将通过本地主机。

scp -3 file user@server:/location/

使用本地系统的带宽,但不会在本地“保存”文件的副本。

您也可以使用rsync来实现相同的功能,但是命令略有不同,而且我对它的了解还不够深,我无法理解。


使用时,这已经是默认设置scp user@server1:file user@server2:/location/(除非另有-3说明)。
grawity

这样SCP不会通过您的本地计算机传递流量吗?意思是,它不首先下载?
科里

1
如果您已经将ssh插入其中一台服务器,则不会。
djsmiley2k '16

0

嗯……从它的声音来看,也许其中一个系统受到某种形式的限制,或者时间是一个因素。简短版:SCP非常适合一枪复制,但有一些警告。我假设这里涉及3个服务器:服务器A是目标,服务器B是包含文件的远程位置,服务器C是您要运行复制操作的计算机(C用于复制)。我将对服务器B上的文件进行校验和,然后scp将复制该文件,如果使用-3,它将是一个快速的无校验副本。然后,在复制之后,我将对服务器A上的文件的校验和进行循环,并将其与服务器B的校验和进行比较。如果它们匹配,则完成了,请关闭循环;如果没有,请再次运行副本和校验和。如果仅将SCP与默认选项一起使用,则文件将被缓存在服务器C上,然后复制到服务器A。这样可以防止传输中的问题,并允许其他网络流量。如果要模仿此方法,但可能要快一点,可以使用-3标志更改第一个示例,然后将文件复制到服务器C,然后将文件复制到服务器A,并使用a检查服务器A上的文件。校验和与服务器B上文件的比较(如有必要,您可以重复复制)。这是一个类似的操作,但是最后允许您从服务器C删除文件,这样就没有等待释放的缓存开销。我不喜欢释放缓存的资源,尤其是在活跃的生产环境中。一个错误会使事情变得一团糟。我喜欢一个更简单的选项,该文件可直接访问,因此可以从自己的脚本中将其删除。在一些更高级的控件中我也很少练习。我希望这有帮助。并允许其他网络流量。如果要模仿此方法,但可能要快一点,可以使用-3标志更改第一个示例,然后将文件复制到服务器C,然后将文件复制到服务器A,并使用a检查服务器A上的文件。校验和与服务器B上文件的比较(如有必要,您可以重复复制)。这是一个类似的操作,但是最后允许您从服务器C删除文件,这样就没有等待释放的缓存开销。我不喜欢释放缓存的资源,尤其是在活跃的生产环境中。一个错误会使事情变得一团糟。我喜欢一个更简单的选项,该文件可直接访问,因此可以从自己的脚本中将其删除。在一些更高级的控件中我也很少练习。我希望这有帮助。并允许其他网络流量。如果要模仿此方法,但可能要快一点,可以使用-3标志更改第一个示例,然后将文件复制到服务器C,然后将文件复制到服务器A,并使用a检查服务器A上的文件。校验和与服务器B上文件的比较(如有必要,您可以重复复制)。这是一个类似的操作,但是最后允许您从服务器C删除文件,这样就没有等待释放的缓存开销。我不喜欢释放缓存的资源,尤其是在活跃的生产环境中。一个错误会使事情变得一团糟。我喜欢一个更简单的选项,该文件可直接访问,因此可以从自己的脚本中将其删除。在一些更高级的控件中我也很少练习。我希望这有帮助。如果要模仿此方法,但可能要快一点,可以使用-3标志更改第一个示例,然后将文件复制到服务器C,然后将文件复制到服务器A,并使用a检查服务器A上的文件。校验和与服务器B上文件的比较(如有必要,您可以重复复制)。这是一个类似的操作,但是最后允许您从服务器C删除文件,这样就没有等待释放的缓存开销。我不喜欢释放缓存的资源,尤其是在活跃的生产环境中。一个错误会使事情变得一团糟。我喜欢一个更简单的选项,该文件可直接访问,因此可以从自己的脚本中将其删除。在一些更高级的控件中我也很少练习。我希望这有帮助。如果要模仿此方法,但可能要快一点,可以使用-3标志更改第一个示例,然后将文件复制到服务器C,然后将文件复制到服务器A,并使用a检查服务器A上的文件。校验和与服务器B上文件的比较(如有必要,您可以重复复制)。这是一个类似的操作,但是最后允许您从服务器C删除文件,这样就没有等待释放的缓存开销。我不喜欢释放缓存的资源,尤其是在活跃的生产环境中。一个错误会使事情变得一团糟。我喜欢一个更简单的选项,该文件可直接访问,因此可以从自己的脚本中将其删除。在一些更高级的控件中我也很少练习。我希望这有帮助。您可以使用-3标志更改第一个示例,然后将文件复制到服务器C,然后将文件复制到服务器A,并通过与服务器B上的文件进行校验和比较来检查服务器A上的文件(您可以重复执行如有必要,请复制)。这是一个类似的操作,但是最后允许您从服务器C删除文件,这样就没有等待释放的缓存开销。我不喜欢释放缓存的资源,尤其是在活跃的生产环境中。一个错误会使事情变得一团糟。我喜欢一个更简单的选项,该文件可直接访问,因此可以从自己的脚本中将其删除。在一些更高级的控件中我也很少练习。我希望这有帮助。您可以使用-3标志更改第一个示例,然后将文件复制到服务器C,然后将文件复制到服务器A,并通过与服务器B上的文件进行校验和比较来检查服务器A上的文件(您可以重复执行如有必要,请复制)。这是一个类似的操作,但是最后允许您从服务器C删除文件,这样就没有等待释放的缓存开销。我不喜欢释放缓存的资源,尤其是在活跃的生产环境中。一个错误会使事情变得一团糟。我喜欢一个更简单的选项,该文件可直接访问,因此可以从自己的脚本中将其删除。在一些更高级的控件中我也很少练习。我希望这有帮助。使用与服务器B上文件的校验和比较来检查服务器A上的文件(如有必要,可以重复复制)。这是一个类似的操作,但是最后允许您从服务器C删除文件,这样就没有等待释放的缓存开销。我不喜欢释放缓存的资源,尤其是在活跃的生产环境中。一个错误会使事情变得一团糟。我喜欢一个更简单的选项,该文件可直接访问,因此可以从自己的脚本中将其删除。在一些更高级的控件中我也很少练习。我希望这有帮助。使用与服务器B上文件的校验和比较来检查服务器A上的文件(如有必要,可以重复复制)。这是一个类似的操作,但是最后允许您从服务器C删除文件,这样就没有等待释放的缓存开销。我不喜欢释放缓存的资源,尤其是在活跃的生产环境中。一个错误会使事情变得一团糟。我喜欢一个更简单的选项,该文件可直接访问,因此可以从自己的脚本中将其删除。在一些更高级的控件中我也很少练习。我希望这有帮助。就像释放空闲的缓存资源一样,尤其是在活跃的生产环境中。一个错误会使事情变得一团糟。我喜欢一个更简单的选项,该文件可直接访问,因此可以从自己的脚本中将其删除。在一些更高级的控件中我也很少练习。我希望这有帮助。就像释放空闲的缓存资源一样,尤其是在活跃的生产环境中。一个错误会使事情变得一团糟。我喜欢一个更简单的选项,在该选项中可以直接访问文件,因此可以从自己的脚本中将其删除。在一些更高级的控件中我也很少练习。我希望这有帮助。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.