我有一组主要包含照片的备份。目录看起来有点像这样:
backup/Day1/photos/1.jpg
.../2.jpg
backup/Day2/photos/2.jpg
.../3.jpg
.../4.jpg
backup/DayN/photos/2.jpg
.../3.jpg
.../9.jpg
同名文件完全相同。有很多重复项。由于备份系统的工作方式,无法直接创建增量备份。我每天都会得到整个转储。
如果我想为某个日期范围(例如第 5 至第 9 天)创建压缩档案,什么是最好的工具/压缩算法来做到这一点,哪个可以很好地进行重复数据删除?(我不指望压缩 jpeg 本身)
答案1
锌锌合金质量量表是一款鲜为人知的可进行重复数据删除的归档程序,据我所知,它是唯一一款。由于 ZPAQ 还具有版本控制功能,因此您可以将每个备份保存在一个归档中,从而进一步减少空间占用。
或者,您可以使用版本控制系统,例如 Git,它会自动执行文件重复数据删除。
或者,如果你想要更复杂一点,你可以尝试 Btrfs 或 ZFS,它们是内置重复数据删除功能的文件系统。不过 Btrfs 的重复数据删除功能不如 ZFS 的好。
答案2
WIM(Windows 映像格式)可能就是您要找的东西。虽然 ZPAQ 是一款非常棒的工具(我自己也在用),但它是基于块的重复数据删除,而 WIM 的重复数据删除是基于文件的(MS 称之为 SIS - 单实例存储,请参阅使用 MDT 和单实例存储的 Microsoft 部署工具包)。
由于问题中提到文件本身是重复的,因此可以说基于文件的重复数据删除更合适 - 特别是考虑到我们正在谈论 JPEGS。
WIM 和 ZPAQ 均:
- 进行增量更新
- 具有错误检测支持
- 支持强加密
- 至少在 Windows 和 Linux 上均受支持(请参阅wimlib - 开源 Windows 映像 (WIM) 库- 对于 WIM)
- 具有强大的压缩支持
- 稳定
WIM优势:
- 被广泛采用和支持
- 快点
- 与 ZPAQ 相似的结果
WIM 的缺点
- 文件级重复数据删除(对于变化较小的文件(尤其是大文件)无用)。
ZPAQ优势:
- 块级重复数据删除 - 非常适合用于文件版本之间有细微变化的大量重复数据,但不仅限于此
- 令人惊叹的工具,据我所知,它的功能和使用方式都是独一无二的
ZPAQ缺点:
- 当重复数据删除功能开启且压缩率设置为最大值 (5) 时,速度会稍微慢一些 (没有我想象的那么慢),因此,如果文件级重复数据删除功能足够,则仅具有边际优势
- 未被广泛采用
- 没有良好的 GUI 支持(这对于恢复和存档导航很重要)