Tar
zip 不適用於大文件
如果文件大小超過 4 GB,壓縮文件的最佳方法是什麼?
在過去的幾個月裡,我一直在使用以下內容。
mysqldump --all-databases | zip > mybackup.zip
今天我遇到了一個錯誤:
zip error: Entry too big to split, read, or write (file exceeds Zip's 4GB uncompressed size limit)
我正在考慮使用bzip2。我的選擇正確嗎?
為什麼不對這類東西使用行業標準:“gzip”?
mysqldump --all-databases | gzip > mybackup.gz
尺寸比較:
720K mybackup.gz (compressed) 2.6M mybackup.sql (same data, but uncompressed for comparison)
使用 xz:
mysqldump --all-databases | xz -9 -c > mybackup.xz
壓縮比比zip高很多,注意看記憶體使用情況。如果您在記憶體受限的環境中執行 xz,您可以使用下表來調整命令並避免分頁:
Preset DictSize CompCPU CompMem DecMem -0 256 KiB 0 3 MiB 1 MiB -1 1 MiB 1 9 MiB 2 MiB -2 2 MiB 2 17 MiB 3 MiB -3 4 MiB 3 32 MiB 5 MiB -4 4 MiB 4 48 MiB 5 MiB -5 8 MiB 5 94 MiB 9 MiB -6 8 MiB 6 94 MiB 9 MiB -7 16 MiB 6 186 MiB 17 MiB -8 32 MiB 6 370 MiB 33 MiB -9 64 MiB 6 674 MiB 65 MiB
xz 文件大小不受限制(取決於文件系統)。