通过 SFTP 下载大文件

通过 SFTP 下载大文件

我需要通过 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.

相关内容