通过SSH复制包含许多文件的文件夹的最快方法

enl*_*loz 14 ssh copy

通过 ssh 在服务器上复制文件的最佳方法是什么?

就我而言:我说的是复制 magento 商店。(15000 个文件 ~ 50MB)

cp -a source destination
Run Code Online (Sandbox Code Playgroud)

需要几个小时......(在我的情况下,服务器是 2.4 Xeon,2GB RAM)

Pis*_*ing 21

一个字:rsync

请注意,如果您的链接速度较慢,或者服务器负载很重,那么用于复制的工具不会成为瓶颈,无论如何复制都会很慢。

这应该为您提供在本地计算机和远程服务器之间复制的基本用法:http : //oreilly.com/pub/h/38

要从本地计算机复制到远程服务器(当然,您需要替换路径、用户名和主机地址):

rsync -avz -e ssh /path/on/local/computer remoteuser@remotehost.somewhere.example.com:/path/on/server
Run Code Online (Sandbox Code Playgroud)
  • -a 档案
  • -v 冗长的
  • -z 压缩
  • -e ssh “使用SSH隧道”

要在另一个方向复制,请切换路径(第一个是from,第二个是to):

rsync -avz -e ssh remoteuser@remotehost.somewhere.example.com:/path/on/server /path/on/local/computer
Run Code Online (Sandbox Code Playgroud)

但是 rsync 甚至对于在同一服务器上复制内容也很有用:

rsync -av /path-to/copy/from /path_to/copy/to
Run Code Online (Sandbox Code Playgroud)

  • 请注意,@Piskvor 为本地复制保留了 `-z` 选项,因为它增加了不必要的开销。恕我直言,在慢速网络链接上使用 rsync 时,您应该只使用“-z”。如果复制超过 100Base-T 的大量数据,您可能不需要 `-z` 就可以了。通过快速的网络连接,使用压缩可能会占用您的 CPU 并使其他进程挨饿。 (2认同)