保存进度的传递函数?

Transfer function that saves progress?

是否存在类似于 scp 的功能,如果连接丢失,则保存进度,并从中断处继续进程?我正在尝试 scp 一个大文件,但我的 VPN 连接一直中断。

使用rsync --partial。它将保留部分传输的文件,然后您可以使用相同的调用恢复这些文件。来自 rsync 手册页:

--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 --partial option tells rsync to keep the partial file which should make a subsequent transfer of the rest of the file much faster.

试试 rsync -aivz --partial user@host:/path/to/file ~/destination/folder/

其他开关说明:

  • a — "archive mode":使传输递归;保留符号链接、权限、时间戳、组、所有者;并(在可能的情况下)保留特殊文件和设备文件
  • i — "itemize changes": 向您展示到底发生了什么变化(如果您要重新复制文件,它将是所有 + 符号的字符串 +++++++
  • v — "verbose":在传输文件时列出文件
  • z — "zip": 在传输过程中压缩数据

这些只是我通常用来传输文件的那些。您可以通过查看 rsync 手册页来查看所有选项的列表。