👛

tar.gz を tar.zst にしたらちょっと得した。

2023/04/26に公開

なにこれ

バックアップ取得時に、tar.gz 形式で取得していたのを tar.zst に変更したらサイズが少し小さくなって、処理時間もそれほど変わらなくて得した。という記事です。

やり方

/work をアーカイブするとします。
tar.gz の場合は tar czvf ~/work-backup.tar.gz /work
tar.zst の場合は tar cvf - /work | zstd -10 > ~/work-backup.tar.zst

蛇足

tar cavf ~/work-backup.tar.zst /work でも作成できますが、zstdの圧縮レベルを指定できないので、zstdにパイプした方がよさそうです。
なお、tarを使った場合も内部でzstdを呼んでいるので、zstdパッケージのインストールが必要です。

注意点

  • Debian 11 では、zstd は標準でインストールされていません。

サイズ比較

5410MB DBダンプのSQLを圧縮

zstd -3  -> 1148M
zstd -10 -> 951M

他の通常ファイルの圧縮でも7%くらいのサイズ縮小効果が見られました。

Discussion