如何使用rsync恢复中断传输


0

我需要中断并重启Linux复制操作。做这个的最好方式是什么?

我目前正在将数据从一台Debian PC复制到另一台。我是从这开始的 sshfstar 如下,但没有要求使用 sshfs 也不 tar 如果另一种可靠的方式就足够了:

local$ mkdir /path/to/remote-sdb1
local$ sshfs root@remote:/mnt/sdb1 /path/to/remote-sdb1
local$ tar cf - /path/to/local/data/to/copy | tar xf - -C /path/to/remote-sdb1 &

远程盒子是System Rescue CD的一次性启动,没有本地操作系统,在我的防火墙内,所以我不太关心以root身份登录,直到有人发表评论。

这比我原先预期的要花费更长的时间,所以我需要中断操作以关闭远程盒子几分钟。

当我重新上电时,我知道我无法恢复焦油操作;相反,是否有类似的东西 rsync 这个命令可以让我从我离开的地方轻松恢复并完成传输,包括在我中断操作时完成正在进行的文件的拙劣传输?

完成后,我计划运行 rsync 命令输入 这个 回答验证传输是否成功完成,除非有人建议这是多余的:

local$ rsync -niaHc /path/to/local/data/to/copy/ /path/to/remote-sdb1/path/to/local/data/to/copy

(如帖子所述,我需要小心结束第一个文件夹名称 /。)

Answers:


4

你不能, 究竟 ,因为源目录中的文件可能与最初的文件不同。即rsync将下载较新版本的文件。

要恢复它,通常重复相同的命令。

除非你用过 --partial,不完整的文件将不会保留在您的目录中,因此只需重复相同的命令 - 已经传输的文件将不会被第二次传输,而未传输的文件将被传输。

顺便说一句,我总是使用的,以确保我不会最终发送 我的源的第二个副本到目的地,我是第一个确保创建目标目录。然后使用:

rsync <options> source/. dest/.

这样,(假设您正在使用一些递归选项),它将确保将源的内容复制到dest的内容中。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.