有没有办法在 Linux 中继续损坏的 scp(安全复制)命令进程? [关闭]

Posted

技术标签:

【中文标题】有没有办法在 Linux 中继续损坏的 scp(安全复制)命令进程? [关闭]【英文标题】:Is there a way to continue broken scp (secure copy) command process in Linux? [closed] 【发布时间】:2014-01-18 14:22:57 【问题描述】:

我正在使用 scp 命令将 7.5 GB 的文件复制到远程服务器。在某个时间点文件传输中断,我必须重新开始。

正在传输的临时文件量是否完全丢失?我可以以某种方式从上次尝试停止的位置重新开始传输吗?如果没有,是否有一些标准的 Unix 命令行文件传输命令可以做到这一点?

【问题讨论】:

更多答案见this question,包括。没有rsync的解决方案。 【参考方案1】:

如果您需要恢复 从本地到远程的 scp 传输,请尝试使用 rsync:

rsync --partial --progress --rsh=ssh local_file user@host:remote_file

短版,如pointed out by @aurelijus-rozenas:

rsync -P -e ssh local_file user@host:remote_file

一般来说rsync的args顺序是

rsync [options] SRC DEST

【讨论】:

对于与默认 22 不同的端口,请使用 rsync -P -e "ssh -p 222" SRC DEST 如果rsync -e 被中断,我发现在需要恢复rsync -e 之前将目标上的.. 重命名为 rsync 仅在另一端可用时才有效。 rsync 真的会恢复在 scp 中开始的文件传输吗?是否真的需要两个 rsync 命令,一个是 rsync 而不是 scp 命令来开始复制,然后断开连接,然后是第二个 rsync 命令来恢复复制? 您最初如何获得部分下载并不重要。您可以从 scp 开始,然后以 rsync 结束。【参考方案2】:

这就是你所需要的。

 rsync -e ssh file host:/directory/.

【讨论】:

以上是关于有没有办法在 Linux 中继续损坏的 scp(安全复制)命令进程? [关闭]的主要内容,如果未能解决你的问题,请参考以下文章

EPLAN 注意 数据库可能已损坏 关闭系统 怎么解决

shell中scp(ascp)如何忽略已经传的数据,继续传输数据?

Linux crontab使用scp命令的问题

有没有办法在本地网络中通过 PHP 进行 scp,具有初学者的程序员技能 [关闭]

[linux:scp远程拷贝文件出现permission denied,please try again的解决办法]2018-10-17

Linux scp 设置nohup后台运行