web-dev-qa-db-ja.com

重複ファイルが多いバックアップファイル

私は頻繁にファイルのグループのバックアップを行う必要があり、いくつかの大きな同一のファイルを含む多くのサブフォルダーがあります。

これを自動的に検出し、同一のファイルを複数回保存しない圧縮スキーム(.Zip、.7zなど)はありますか?

7
Warpin

はい、可能です: https://superuser.com/questions/479074/why-doesnt-gzip-compression-eliminate-duplicate-chunks-of-data

これが私が思いついた例です:

[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
0
Jay

私もこれを経験しました。

ファイルをTarBallに圧縮する場合、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"

それはうまく機能します、それを試してみてください。

5
ALM865

私が試した3つのオプションを提案します(Windowsで):

  1. 辞書サイズが1536Mbの7Zip LZMA2圧縮
  2. WinRar「ソリッド」ファイル
  3. 7ZipWIMファイル

Webサイトのバージョンが異なる10個のフォルダーがありました(。php。html。js。css。jpeg。sqlなど)の合計サイズは1Gb(フォルダーあたり平均100Mb)。標準の7ZipまたはWinRar圧縮では、約400/500Mbのファイルが得られましたが、これらのオプションでは、それぞれ(1)80Mb、(2)100Mb、および(3)170Mbのファイルが得られました。

1