一段时间以来,我一直在想我可以通过制定这个备份方案在外部硬盘驱动器上节省一些钱:如果我有 3TB 数据要备份,从一个备份到下一个备份的变化少于 1TB,我总是希望有 1 个副本家里的 3 个 2TB 外置硬盘应该够用了。这个想法是,每次使用磁盘进行备份时,它都会被完全填满 - 但是,完整备份永远不会被设为 3TB>>2TB。
因此,备份从使用 2TB 数据填充 disk1 开始。然后用disk2填充1TB数据和1TB冗余数据,因为它也存在于disk1上。现在disk1和disk2可以带出家门了。
进行下一次备份时,disk2 已经包含 2TB 的数据,其中至少 2TB-1TB=1TB 仍然有效,因为只有 1TB 有更改。因此,通过将 2TB 的数据(其中一些数据也可能存在于 disk2)备份到 disk3,我们在 disk2+disk3 上获得了完整的备份。现在可以将disk3 移出,disk1 可以移回、删除并重新用于备份。
这当然可以做得更好,因此我们可以使用不同大小的磁盘,拥有不同数量的磁盘,对外出副本数量有更高的要求等。
理论上,通过存储所有磁盘上哪些文件的校验和很容易做到,因此我们可以通过检查校验和来检查更改。
然而在实践中,有很多情况需要处理:磁盘空间不足、硬链接、软链接、文件权限、文件所有权等。
我试图找到可以做到这一点的现有备份程序,但我没有找到。
所以我的问题是:我如何最容易地做到这一点?从头开始编写它可能会花费太多时间。所以我想知道我是否可以把它放在现有的东西之上。有任何想法吗?