---
title: "Misskey/FirefishなどのDBバックアップをzstdで圧縮する"
id: "6767"
type: "post"
slug: "misskey-firefish%e3%81%aa%e3%81%a9%e3%81%aedb%e3%83%90%e3%83%83%e3%82%af%e3%82%a2%e3%83%83%e3%83%97%e3%82%92zstd%e3%81%a7%e5%9c%a7%e7%b8%ae%e3%81%99%e3%82%8b"
published_at: "2023-12-16T09:30:52+00:00"
modified_at: "2023-12-16T09:32:59+00:00"
url: "https://www.okin-jp.net/archives/6767"
markdown_url: "https://www.okin-jp.net/archives/6767.md"
excerpt: "MacのWindowsAppからxrdpにrdp接続するとusキーボードになってしまうので調査 Continue reading"
taxonomy_category:
  - "Linux"
  - "Server"
taxonomy_post_tag:
  - "Firefish"
  - "Misskey"
  - "zstd"
  - "サーバー運用"
  - "ツール紹介"
---

## 概要

Misskey/FirefishなどAcitvity Pub互換サーバーを運用する上で、バックアップは非常に重要ですが、運用の経過で自然とバックアップサイズが大きくなることは運用者を悩ませます。  
 そこでzstdを使ったバックアップの圧縮がおすすめです。  
   
 今回紹介する[zstd(ZStandard)](https://github.com/facebook/zstd)
は比較的新しい圧縮アルゴリズムです。開発者は[Yann Collet氏](https://github.com/Cyan4973)
です。Ubuntu 22.04 LTS(server含む)にはzstdから始まるコマンドラインツールがデフォルトで同梱されており、従来使われてきたgzipよりも高圧縮で高速な圧縮伸張をサポートします。

## 使い方

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

zstd-usage.shShell

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

| 1234 | # 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

| 123456 | # みおきー 3.6G Dec 16 17:03 2023.11.1-mio.backup1005M Dec 16 17:37 2023.11.1-mio.backup.zst# みーくりあ！1.9G Dec 16 17:01 2023.11.1.backup564M Dec 16 17:47 2023.11.1.backup.zst |
| --- | --- |

![おきん(blog)](https://secure.gravatar.com/avatar/90fa8845304183a491e9f3bfa0a6a44e46e25882407e4aa652815d725d55bd8c?s=100&r=g)

[おきん(blog)](https://www.okin-jp.net/archives/author/oops-okin)

[https://mi.okin-jp.net/@okin_p](https://mi.okin-jp.net/@okin_p)
(Misskey)  
 [https://fi.okin-jp.net/@okin_p](https://fi.okin-jp.net/@okin_p)
(Firefish)  
 [https://si.okin-jp.net/@okin_p](https://si.okin-jp.net/@okin_p)
(Mastodon)

[https://fedifile.net/@okin_p/profile/](https://fedifile.net/@okin_p/profile/)
  
 [https://twpf.jp/okin_p](https://twpf.jp/okin_p)
  
 [http://profile.hatena.ne.jp/okin_p/](http://profile.hatena.ne.jp/okin_p/)

名前：おきん  
 やってること：面倒なことをPHPにやらせる、IPv6でなにかする、車で移動する  
 主なガジェット：Google Pixel 4a (5G) ,iPhone XS(ジャンク), iPad mini5, その他

種別：IPv6 Single stack 猫

パソコンやガジェットについて書いていく…予定。

[https://twitter.com/okin_p](https://twitter.com/okin_p)
[https://si.okin-jp.net/@okin_p](https://si.okin-jp.net/@okin_p)

### *関連記事*

### コメントを残す[コメントをキャンセル](/archives/6767#respond)

このサイトはスパムを低減するために Akismet を使っています。[コメントデータの処理方法の詳細はこちらをご覧ください](https://akismet.com/privacy/)
。
