我通过 scp 传输了几千个文件,每个文件约 1MB,在传输了大约 2k 个文件后,我的连接就断了。我想知道是否有办法恢复递归传输而无需重新开始。比如
$ scp -r [email protected]:/datafiles/ ./
... Happy Transfer ...
... BREAK! ...
$ rsync -P [email protected]:/datafiles/ ./
... Continue transf...
问题是,如果可能的话,我似乎无法使语法正确。有人能解释一下是否可以/如何做到这一点吗?
PS. 如果在 rsync 行中的“datafiles”后指定斜线,那么会传输目录还是其内容?我在 Google 上搜索时看到了相互矛盾的评论。
答案1
如果你正在从本地计算机 rsyncing 到远程主机,则可以这样做:
rsync -avzl -e ssh /directory/with/files/ [email protected]:/new/directory/
答案2
下面这行代码应该可以解决这个问题:
rsync --partial --progress --rsh=ssh -r[电子邮件保护]:/数据文件/./
我以前从未将它用于递归目录,但刚才我发送它时,它似乎按预期工作。
答案3
合并 kibitzer 和 Tyler 的答案对我来说最有效:
rsync --partial --progress -avzl -e ssh /directory/with/files/ [email protected]:/new/directory/
(递归 rsyncing 并显示每个文件的进度)