tar.gz を tar.zst にしたらちょっと得した。
なにこれ
バックアップ取得時に、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を圧縮
1 | zstd -3 -> 1148M |
他の通常ファイルの圧縮でも7%くらいのサイズ縮小効果が見られました。