合理处理移动的 Rsync

PSk*_*cik 13 linux rsync synchronization unison

我已经成功地使用rsync在我的笔记本电脑和上网本(都使用 ext4 和 Linux)之间同步我的主目录。我唯一的问题是,我时不时地喜欢完全重新组织某些目录,而rsync将此视为删除和创建新文件,这使得它非常缓慢且效率低下。

有人知道可以很好地处理文件移动的好软件吗?

我发现一致应该能够做到这一点,但它似乎在实践中不起作用。我通过同步两个本地目录来测试一致性,每个目录中都有一个大文件,它仍然检测到我的移动是删除+创建,实际上比rsync还要慢。

此外,如果我在几个月前查看unison的源代码时没记错的话,它试图做一些类似做 sha sums 的事情——而且我不希望我的理想解决方案做 sha sums——这在大的情况下太慢了文件/目录。我想要一些注意以下内容的东西:

" 此文件的最后一个源副本似乎已被删除,并且源目录树中的其他位置有一个具有相同 mdate、大小和 inode 编号的新文件,因此我将假设这是一个移动和相应地移动其目标副本,而不是执行删除+复制。”

能够快速同步这些机器对我来说很重要。

有什么建议?

Zel*_*lda 6

您应该查看它在下面执行的rdiff-backuprsync,但具有您需要的额外智能(并且它使增量备份能够回滚,但您可以配置将其关闭)。

最新版本是旧版本(2009 年),但这是稳定的标志。

  • 有人试过吗? (2认同)

Gil*_*il' 5

Unison 做你想做的,但只用于远程同步。尝试ssh://localhost/path/to/dir用作根之一。

Unison 确实根据文件内容做出决定,它不跟踪 inode 编号。