War*_*pin 7 backup compression
我经常需要备份一组文件,其中有许多子文件夹,其中包含几个大的、相同的文件。
是否有压缩方案(.zip、.7z 等)可以自动检测到这种情况并且不会多次存储相同的文件?
小智 5
我也刚刚经历了这个。
如果您将文件压缩到 Tar Ball 中,7z 的 LZMA 压缩可能会或可能无法识别重复项,如果它们在 Tar Ball 中分隔得太远(这是字典大小和其他一些因素的函数)。
7z 具有收集重复项的 WIM 格式,然后您可以在那里使用正常的 LZMA 压缩。Windows 命令行示例:
7z a -twim "Example.wim" *
7z a -t7z -m0=lzma -mx=9 -mfb=64 -md=32m -ms=on -mhc=on "Example.7z" "Example.wim"
del "Example.wim"
Run Code Online (Sandbox Code Playgroud)
它运作良好,试一试。
这是我想出的一个例子:
[jay test]$ tree .
.
`-- compressme
|-- a
| `-- largefile (10MB)
`-- b
`-- largefile (10MB, identical to ../a/largefile)
3 directories, 2 files
[jay test]$ du -sh compressme/
21M compressme/
[jay test]$ tar -cf compressme.tar compressme/
[jay test]$ du -sh compressme.tar
21M compressme.tar
[jay test]$ lzma -9 compressme.tar
[jay test]$ du -sh compressme.tar.lzma
11M compressme.tar.lzma
Run Code Online (Sandbox Code Playgroud)