rsync拷贝服务器文件夹,关于ssh:使用rsync从远程服务器复制文件到本地计算机…

  • Post author:
  • Post category:其他


一旦我将ssh连接到远程服务器上,将目录中的所有文件复制到我机器上的本地目录将是什么命令?

我为什么不上厕所?否则,我将如何获得对服务器的命令行访问权限?

因为您可以直接从本地机器上执行cx1〔0〕。

哦。。。是的,我会。我现在看到其他答案了。谢谢。

乐于助人:)

这是(Web)开发的常见任务,有一个很好的答案。我不明白为什么它还关着。

我认为@d.raev指的是这个问题被作为非主题关闭(如果我记得正确的话,我标记这个问题迁移到超级用户,我认为它更适合),而不是没有被接受的答案。还是…很高兴在这之后我的回答被接受了。-)

你说得对@jonsyweb,对不起…有一天早上,我突然下了结论。

@Markstewie没有什么不好的感觉,这是一个很好的问题,它帮助了我(似乎其他很多人也一样),但这个”封闭”让它看起来不值得信任,所以我就不会去关注它。

从本地计算机:

rsync -chavzP –stats user@remote.host:/path/to/copy /path/to/local/storage

从具有非标准ssh端口的本地计算机:

rsync -chavzP -e”ssh -p $portNumber” user@remote.host:/path/to/copy /local/path

或者从远程主机,假设您真的想这样工作,并且您的本地计算机正在监听ssh:

rsync -chavzP –stats /path/to/copy user@host.remoted.from:/path/to/local/storage

关于我常用的开关的解释,请参阅man rsync。

您打算-h做什么,引用似乎说明它将显示帮助文件,但这对我没有意义?

@马尔洛:啊,是的,我以前见过这种情况(我认为是太阳神)。根据我答案中的链接:h output numbers in a human-readable format。

啊,我明白了,我没有注意到-h引用,因为有两个引用指向那个标志。啊,一定会用的。

命令说明:explainshell.com/…

哇,那个解释性网站太棒了。

user@host.remoted.from是什么?我的本地机器上是否需要一个ssh服务器(而不仅仅是一个ssh客户机)才能工作?

@cmcdragonkai:实际上,本地主机必须运行ssh服务器,并且可以被远程主机访问。这是我喜欢第一个解决方案而不是第二个解决方案的原因之一。

我发现您可以在现有的ssh会话中运行本地命令。因此,我可以在不离开ssh会话/终端的情况下(从本地机器)运行相同的命令。

与尾随斜杠同步时要小心。johnnysweb给出的命令将在/path/to/local/storage中创建一个名为copy的目录。像这样,埃多克斯1〔2〕。如果这是你想要的,那就太好了。但是,更常见的情况是,您希望将远程目录的内容复制到本地目录中。然后执行/path/to/copy/,将内容放在目录/path/to/local/storage中,而不创建本地副本目录。

我来这里是为了一个rsync命令,带着explainshell.com离开了。谢谢@beefsack!

这个解释性网站改变了游戏规则:o

我说,所有命令都显示在上,因此应该自动超链接到explainshell:-)

如果您有ssh访问权,则不需要先进行ssh,然后再进行复制,只需使用目的地的安全复制(scp)。

scp user@host:/path/file /localpath/file

支持通配符,因此

scp user@host:/path/folder/* /localpath/folder

将复制该文件夹中的所有远程文件。如果复制多个目录,则复制一个目录。

注意-r也会复制所有子文件夹和内容。

为什么使用scp而不是rsync?另外,请注意,您的shell不会尝试扩展user@host:/path/folder/*,可能使用单引号(‘)。

我发现目的地的SCP更容易使用……本质上,它是通过ssh进行的文件复制,但首先必须建立ssh连接。

我知道scp是什么,这不是我的问题。你为什么不使用rsync?这就是问题所要求的,不需要建立ssh会话,而且通常比scp更快、更高效。

虽然标题中包含rsync,但我将实际问题理解为”复制所有文件的命令是什么…”,因为无法通过注释来澄清问题,我扩展了我的答案,冒着脱离基础的风险,我的答案将不再有用。在我上面的评论中,我并不想像我试图教育你关于SCP的那样离开。我想说的是”cp over ssh”。我可以在任何地方使用它,本地使用cp,但在主机之间使用。

记住,SCP遵循符号链接而不是复制它们。这会导致复制比预期更多,并且丢失符号链接(它们成为普通文件夹/文件)。

蒙丹的回答正是我找到这篇文章的原因。通常,我对所有内容都使用scp,但我需要保留从服务器到服务器的权限和symlink。此外,速度差异(我的新手自己肯定先SCPED)是巨大的。

当涉及的文件非常大并且正在执行更新时,与scp相比,rsync可能更可取。也就是说,大多数大型文件已经复制了一次,只需要传输差异。