【问题标题】:Transfer function that saves progress?保存进度的传递函数?
【发布时间】:2018-12-20 00:42:27
【问题描述】:

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

【问题讨论】:

    标签: unix copy scp


    【解决方案1】:

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

    --部分
    默认情况下,如果传输中断,rsync 将删除任何部分传输的文件。在某些情况下是 更希望保留部分传输的文件。使用 --partial 选项告诉 rsync 保留部分文件 应该使文件其余部分的后续传输更快。

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

    其他开关说明:

    • a — “归档模式”:使传输递归;保留符号链接、权限、时间戳、组、所有者;并(在可能的情况下)保留特殊文件和设备文件
    • i — “itemize changes”:显示具体发生了什么变化(如果你要重新复制一个文件+++++++,它将是一个全是+号的字符串)
    • v — “详细”:列出传输的文件
    • z — “zip”:在传输过程中压缩数据

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

    【讨论】:

    • -aivz 选项有什么作用?
    • 还有一个问题。我从 AWS 执行此操作,通常使用 scp -i <public key>。我可以用rsync 做到这一点吗?
    • (我用其他标志的解释更新了我的答案。)关于使用身份文件的建议,看起来有人问过类似的问题:stackoverflow.com/questions/5527068/…我经常使用 ssh-add。
    • 感谢您的澄清和补充参考
    猜你喜欢
    • 2012-03-06
    • 2021-12-21
    • 2021-12-12
    • 1970-01-01
    • 1970-01-01
    • 2014-09-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多