支持压缩和维护硬链接的类似 rsync 的工具?

Kro*_*mey 6 backup compression rsync

我使用rsync基于 的备份方案来维护我的文件服务器的每日(以及很快每周和每月)“快照”,使用rsync的 link-dest 功能在未更改的文件的快照之间存储硬链接。这非常有效:备份超过 330 GB 的数据,如果没有文件更改,整个快照仅占用 1.5 MB 磁盘空间。

最近,这台服务器的硬盘驱动器故障让我意识到我现在是多么脆弱——虽然由于这些备份快照,我没有丢失任何数据,但备份和它们备份的数据都位于同一个物理盒子中我公寓里的办公室;像我公寓楼里的一场小火灾这样简单的事情就可以完全抹去我数据的最后一点(双关语)!

我有一个异地位置,我可以将外部硬盘驱动器带到那里,所以我打算实施一个轮换异地备份,其中一个硬盘驱动器离线和异地,同时插入第二个并备份我的快照,我会定期(例如每周一次)交换它们,这样如果最坏的情况发生,我最多会丢失最后几周的数据。

现在问题来了:我想在外部硬盘驱动器上备份我的快照,而不是数据本身。(我有一天没有注意到硬盘故障,所以那天的每日快照几乎毫无价值;然而,拥有额外的快照是拯救我的培根的原因,我也希望在这里得到同样程度的保证。自我注意: 实际上监控那些方便的 SMART 数据...) 久经考验是cp行不通的,因为它会看到单个文件,而不是硬链接,将所需的存储空间增加 7 倍!rsync 会工作,但我希望这些外部驱动器上的数据被压缩,以便我可以使用更小的驱动器(我的目标是 1TB,对于当前 337 GB 的数据来说已经足够了,但明显小于几乎3TB 容量的文件服务器;我不希望能够将所有 3 TB 备份到仅 1 TB 驱动器,即使进行压缩,我只希望 1 TB 随着我的数据增长具有最长的使用寿命)。

那么,有没有人知道一种方法,我可以通过该方法维护快照之间的硬链接关联,同时压缩我正在备份的文件?理想的解决方案还支持排除列表,因此我可以简单地跳过压缩已经压缩的文件(.zip、.gz、.mp3、.jpg 等)。

只是为了绝对清楚,我正在寻找一种方案,其中 /backup/snapshots/daily.1/file1 中指向 /backup/snapshots/daily.0/file1 的硬链接将被复制到 /mnt/external_hdd /snapshots/daily.1/file1 作为指向 /mnt/external_hdd/snapshots/daily.0/file1 的硬链接,后者(实际文件本身)现在已被压缩(例如 gzip)。

小智 3

请参阅rdup-simple(来自rdup)。您说您想要压缩,但如果您改变主意,我强烈推荐rsnapshot

顺便说一句,如果两个硬链接指向一个文件,则它是同一个文件。您不能仅压缩其中一个硬链接,因为它与文件系统中的基础数据相同。