我有一組主要是照片的備份。該目錄看起來有點像這樣:
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是一個鮮為人知的歸檔程序,它可以進行重複資料刪除,並且據我所知,是唯一的一個。由於 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 支援(這對於恢復和存檔導航很重要)