Connection: via IPv4
Your IP : 44.200.94.150
In English
Categories: LinuxServer

Misskey/FirefishなどのDBバックアップをzstdで圧縮する

概要

Misskey/FirefishなどAcitvity Pub互換サーバーを運用する上で、バックアップは非常に重要ですが、運用の経過で自然とバックアップサイズが大きくなることは運用者を悩ませます。
そこでzstdを使ったバックアップの圧縮がおすすめです。

今回紹介するzstd(ZStandard)は比較的新しい圧縮アルゴリズムです。開発者はYann Collet氏です。Ubuntu 22.04 LTS(server含む)にはzstdから始まるコマンドラインツールがデフォルトで同梱されており、従来使われてきたgzipよりも高圧縮で高速な圧縮伸張をサポートします。

使い方

コマンドラインツールzstdは標準入力に受け取った内容を圧縮して標準出力に出します。zstdcatは逆に標準入力か第一引数のファイルを伸張して標準出力に出します。
具体的には以下のように実行できます。

# zstdで圧縮
pg_dumpall -U <pgのユーザー名> | zstd > backup.zst
# zstdcatで伸張
zstdcat backup.zst |  psql -U <pgのユーザー名> -d <pgのdb名>

ちなみにzstdcatを含めてgzipやプレーンテキストを渡しても処理できるので、catやzcatで読んでいた処理をそのままzstdcatに置き換えるだけで既存のバックアップも問題なく使えます。

運用しているMisskeyサーバーではzstdの圧縮率は非圧縮比で1/3~1/4になりました。

# みおきー
 3.6G Dec 16 17:03 2023.11.1-mio.backup
1005M Dec 16 17:37 2023.11.1-mio.backup.zst
# みーくりあ!
1.9G Dec 16 17:01 2023.11.1.backup
564M Dec 16 17:47 2023.11.1.backup.zst

 

This post was last modified on 2023年12月16日 6:32 PM

Share
Published by
おきん(blog)

Recent Posts

media-proxy-rsをビルド・実行する

media-proxy-rsを…

1か月 ago

[メモ]NetboxでEntra ID認証(SSO)[編集中]

[メモ]JellyfinでEn…

1か月 ago

ものぐさのためのXbox Game Pass Ultimate更新節約術

ものぐさ節約家のためのXbox…

2か月 ago

[メモ]JellyfinでEntraID認証

概要 メディアサーバーのJel…

6か月 ago

MastodonでhCaptchaを使う

概要 Mastodonサーバー…

8か月 ago

This website uses cookies.