![通过 SFTP 下载大文件](https://linux22.com/image/1270800/%E9%80%9A%E8%BF%87%20SFTP%20%E4%B8%8B%E8%BD%BD%E5%A4%A7%E6%96%87%E4%BB%B6.png)
我需要通过 SFTP 从远程服务器下载一些非常大的文件(大约 75 GB)。我一直在 Linux 上网本上通过命令行使用 SFTP。大约进行到一半时,传输停止并显示“停滞”。有人能推荐一种可靠的方法来下载这些文件吗?
答案1
不久前我遇到过这个问题,这篇文章给了我很大帮助: http://ubuntuforums.org/showthread.php?t=383505
一位用户建议使用 SCP
答案2
遗憾的是,MaxMackie 提供的链接不再有效。
由于您可以通过 进行访问,因此sftp
您可能也能够通过 进行访问,rsync
默认情况下,该访问通过ssh
隧道运行(隧道sftp
也确实如此)。rsync
通常是通过慢速网络下载(同步)大量文件或大文件的一个好选择。众多功能之一是,它可以恢复同步(下载)。
在你的情况下,像这样的命令
$ rsync -P machine.example.com:/path/to/bigfile .
会完成您想要完成的任务。如果连接中断或您稍后需要出于其他原因恢复,您可以再次执行此命令。从页面man
:
The -P option is equivalent to --partial --progress. Its pur‐
pose is to make it much easier to specify these two options for
a long transfer that may be interrupted.
--partial
By default, rsync will delete any partially transferred file if
the transfer is interrupted. In some circumstances it is more
desirable to keep partially transferred files. Using the --par‐
tial option tells rsync to keep the partial file which should
make a subsequent transfer of the rest of the file much faster.
--progress
This option tells rsync to print information showing the
progress of the transfer. This gives a bored user something to
watch.