情况:两台计算机,每台计算机都有一个很大的数据区(操作系统和程序位于计算机的其他区,可以忽略)。两台计算机上的数据应该相同,因此当一台计算机上的某些部分发生变化时,另一台计算机也必须对变化进行镜像(在宽裕的时间内,比如一周)。两台计算机之间无法建立网络连接,但我可以连接一个外部驱动器。
有没有一种工具可以使用外部驱动器保持 2 个数据部分同步,其中外部驱动器比数据部分小得多(例如,外部驱动器只有数据部分大小的 10%)?可以假设实际更改很容易放在外部驱动器上,甚至可以假设所有更改的文件(不仅仅是更改)都很容易放在外部驱动器上。
如果可以使事情变得简单,主从同步就足够了,即只有一台计算机可以更改数据。
我可以想象一种方法,其中传输驱动器存储数据文件的时间戳/校验和的数据库,并且仅存储外部驱动器上实际发生更改并需要在另一台计算机上更新的文件;但我不知道现有的工具可以做到这一点,或者用不同的方法解决问题。
[编辑] 还要注意,这些计算机并不位于同一位置,而是相距几公里。
答案1
如果文件是基于文本的,您可以使用版本控制系统来管理更改。只需生成自上次签入以来的更改补丁并将其移动到目标系统即可。
使用主/从设置会更容易。如果两个系统都发生了变化,则需要在两侧都设置版本控制存储库,并双向修补。哎呀!
答案2
我曾经不得不对位于不同未连接网络上的系统执行此操作。我使用的解决方案是生成一个索引文件,其中包含目标和服务器系统上每个文件的文件名和 MD5 哈希值。然后我将目标哈希文件复制到服务器并生成差异列表。然后我压缩更改的文件并将它们传输到目标系统。
答案3
这种情况可以使用 DAS 或类似的共享存储设备来解决吗?