如何使 2 个硬盘同步?

如何使 2 个硬盘同步?

我有 2 个硬盘用于保存备份。有时,发生了什么事,我在其中备份了,却错过了在另一台上备份的情况。结果,一个数据中的一些数据在另一个数据中不存在,而另一个数据中的一些数据在另一个数据中不存在。两者都有很多文件。现在我想让两者相互同步,以便两者都拥有所有数据并且是彼此的孪生副本。

另外,如何确保一个备份硬盘不包含重复文件,从而导致不必要的空间和时间消耗(在检查备份时)?

我之前已经研究过rsync,但没有广泛涵盖我的问题的这一部分。我喜欢这个工具,并且觉得它可以完成这项工作。如果这个工具更好的话,可以和其他工具一起提及吗?

答案1

单向工具,例如同步当您想让 B 看起来像 A 时效果很好,但当您想让 A 和 B 相同但与 A 或 B 不同时则不太有用。当我需要同步目录树时,我喜欢齐奏。它有一个很好的图形界面,可以让您看到树之间的差异,并根据时间戳提出建议,以确定哪个是较新的(这并不总是您想要保留的)。它还可以选择备份任何不同文件的两个副本,以免丢失任何内容。

使用 rsync 同步时,您可以告诉它保留最新版本的文件,然后将 SRC 同步到 DEST,将 DEST 同步到 SRC。问题是 rsync 无法检测 SRC 和 DEST 中文件均已更改的冲突,并且您只会获得最新版本。 Unison 会跟踪发生的变化。如果文件仅在一个位置发生更改,您将获得最新版本,但如果文件在两个位置均发生更改,您将收到有关冲突的警告,然后有机会手动处理它。

就“重复”文件而言弗斯林特是一个很好的实用程序,用于识别除名称和权限之外相同的文件。图形索引可以决定哪些重复项是您真正想要的,哪些是您不需要的。

答案2

Kdiff3也是一个很好的可视化目录比较程序,它可以比较2或3个不同的目录树。它也应该与所有 KDE 软件包分开提供(kdiff3-qt在 Debian 中)。它似乎每年都会更新一次,因此仍然“相对活跃”。

在此输入图像描述

除了 FSlint 之外,还有其他几个“查找重复文件”程序,只需搜索“linux 查找重复文件”即可得到如下结果:

答案3

这是一个示例,它将 /home/user/data 目录的备份与备份目录数据同步到已安装的备份磁盘 /media/backups 。请注意,目标不以 / 结尾。这将删除备份目标中主源数据中不存在的所有文件。

rsync -av --delete --delete-excluded /home/user/data/ /media/backups/data

首先使用此选项以确保它正在执行您想要的操作。第一次调试备份参数时始终使用 --dry-run 以确保它执行您想要/期望的操作!否则,如果序列错误,您可以删除源中的所有数据。 -v 使其变得详细,显示内容将到达何处。

--dry-run

rysync 理解起来非常复杂,但非常强大,但是一旦您编写了备份脚本,这样您就不会忘记它,这是一次性的事情,然后您只需运行这些东西即可。

我使用 rbxi 来自动执行 rsync 备份,但这对于大多数应用程序来说都太过分了。

rsync 是我见过的最好的 UNIX 类型工具之一,作者是个天才(如果我没记错的话,他是 samba 的创建者),我认为出现技术上更好的东西的可能性相当接近于零。

请注意,如果您安装了两个备份驱动器,您可以简单地将主数据同步到第一个驱动器,然后将第一个驱动器同步到第二个驱动器,这样您就拥有了完全匹配的数据。尝试用 gui 工具解开一些东西...好吧,我不会依赖类似的东西来进行备份,我只能告诉你,如果它们很好,他们可能首先使用 rsync 作为引擎,如果他们不好,他们不是,我不会相信他们。

使用 rsync 完成主要数据处理后,通常只需几分钟即可同步到最新状态,因为它仅由更改的块完成。举个例子,我的主备份备份了大约 100 万个文件,大约 400 GB,使用 rsync 只需要大约 20 分钟左右即可完成所有这些工作。花在学习这个工具上的时间是非常值得的,正如我所指出的,我能想到很少有比 rysnc 更好设计和实现的 UNIX 类型工具,而且这是你永远不会后悔的学习时间。

相关内容