rsync 选项 --partial 和 --temp-dir

rsync 选项 --partial 和 --temp-dir

我正在尝试运行 rsync,它应该将不完整的文件保留在给定的 --temp-dir 中,并且如果连接由于某种原因断开,也不应该删除不完整的文件。

rsync --human-readable --archive --info=progress2 --relative --no-inc-recursive --dirs --append-verify --partial --temp-dir=.rsync_temp /path/to/myfile.tar.lz4 <dest-ip>:/data/

如果我由于某种原因中断命令并重新启动它,则会发现它没有使用以前运行的不完整文件。

我有大量文件,大小从 2GB 开始。因此,使用 --partial 来恢复不完整的文件是必不可少的。此外,不完整的文件在目标文件夹中不可见也是必要的,因此我使用了 --temp-dir。

有什么线索吗?

答案1

我遇到了同样的问题,并使用 解决了它--no-whole-file。因此,尽管使用在远程计算机上执行的 SSH 连接rsync --server,但 rsync 似乎有时会禁用默认的增量传输算法,令我惊讶的是¹该算法是 的要求--partial

另一个罪魁祸首可能是远程计算机上缺少临时目录,因为尽管--partial-dir自动创建了丢失的目录,但该--temp-dir选项却不会执行此操作。

¹ 过去我认为--partial使用目标文件并简单地附加丢失的数据。但现在我认为它首先使用部分目标文件进行增量传输比较,然后将丢失的数据写入新的临时文件以最终合并两者。

相关内容