rsync is a program that behaves in much the same way that rcp does, but
has many more options and uses the rsync remote-update protocol to
greatly speed up file transfers when the destination file is being
updated.
The rsync remote-update protocol allows rsync to transfer just the dif-
ferences between two sets of files across the network connection, using
an efficient checksum-search algorithm described in the technical
report that accompanies this package.
rsync
在使用 ftp 或 tftp 之前,我会使用 rsync。
更多选择和(根据我的经验)更可靠的传输。
ssh 上的 tar 是可以的,但是通过 netcat 的 TCP 上的 tar 几乎是您可以获得的最低开销!如果这是一次性的事情,请试一试:
在接收器上:
在发件人上:
如果这是你要经常做的事情,我可能会使用 rsync。
有两个人提到了 tar over ssh,但没有说怎么做。作为记录,基本程序是运行:
或者,如果您想从接收端开始传输:
与 Evan 的 netcat 解决方案相比,这样做的好处是整个事情都可以从一台计算机启动;您不必协调两个 netcat 调用。如果您需要它自动运行,您可以设置一个 ssh 密钥,让您无需密码即可建立连接,并将该密钥用于这些连接。
ssh 有一个 -C 选项来压缩它的数据流,或者你可以使用 GNU tar 的内置压缩能力:
Rsync 是另一种选择,但它的强项是更新接收端已经存在的文件。当使用它传输另一端尚不存在的文件时,我发现它比 scp 或 tar/ssh 慢。
老实说,我会使用
scp
ortar
over 。ssh
加密确实会减慢速度,但设置和使用的简易性、可靠性和(当然,主观上)熟悉度让我愿意接受打击,除非我真的需要那种速度。您也可以通过告诉它使用比默认密码更快的密码来加速 ssh 传输。默认值通常是
3des
并且您通常可以这样做-c des
,因此显然会更快,并且-c blowfish
表示也很快,尽管我没有对其进行精确测试。(在 SSHv1 的日子里,你经常可以这样做
-c none
,但我猜有人认为这很糟糕。)如果你必须通过 scp/ssh,我的实验表明,这些天默认启用的最快密码是 RC4。您可以在 ssh/scp 命令中通过“ -c arcfour ”指定密码:
对于初始副本:
scp -c arcfour -r foo/ desthost:/destdir
更新:
rsync -e 'ssh -c arcfour' -r foo/ desthost:/destdir
Rsync 是一个很好的方法,因为如果您发现自己多次传输相同的文件,它将加快复制速度,如手册页中的引用所示。
FTP 非常简单,但更简单的方法可能是在一台机器上创建 NFS 共享并将其挂载到另一台机器上。然后复制文件将包括从一个目录到另一个目录执行 cp。
如果你想要速度,你可以使用 netcat 和 tar。在不考虑加密的本地网络上,它会比 ssh、rsync 或 scp 更快。谷歌“netcat 焦油”。
目标服务器
源服务器
这显然需要实际安装netcat。谷歌“netcat tar”了解更多信息。
我相信您已经解决了您的问题,但如果您的 ssh 在另一个端口(而不是标准端口 22)上工作,您可以使用它
注意: - 将 XXXXX 替换为您的端口号 - 将 192.16.1.2 替换为正确的远程服务器 IP
https://www.npmjs.org/package/gist-cli
https://github.com/settings/applications#personal-access-tokens
或者这个:
https://github.com/defunkt/gist
使用gist命令上传下载