Misskeyサーバーのバックアップ&お引越し手順

Category: Tech
thumbnail

自宅サーバーをラズパイサーバーからミニPCに移行した際にMisskeyのお引越しをしたので、その手順などをまとめておきます。

Misskeyサーバーのバックアップor移行に必要なのは主にデータベースとドライブファイルです。
あとは設定(default.ymlなど)もバックアップしておきます。

Note

DBバックアップに使用するpg_dumppg_restoreコマンドはPostgreSQLをインストールするとついてくるので個別にインストールする必要はありません。

バックアップ

DBバックアップ

pg_dump -U {DBUserName} -Fc {DBName} > misskey_backup.dump
# ファイル名に日時を付与する例(自分用)
sudo -u misskey pg_dump -U misskey -Fc misskey > misskey_backup_$(date -u +"%Y-%m-%dT%H.%M.%SZ").dump

-FcはPostgreSQLのカスタムフォーマットで出力するオプションです。misskeyはPostgreSQLのみに対応しているので、これが最適だと思います。

ドライブバックアップ

filesディレクトリをzipなりtarなりでアーカイブするだけです。
リモートファイルのキャッシュが不要であれば管理者アカウントのコントロールパネル>ファイルのゴミ箱アイコンでキャッシュをクリアしてから行います。
自分はリモートファイルをキャッシュしていないので気にしませんが。

# .tar.gzでアーカイブするコマンド例
# c:アーカイブを作成, z:gzipで圧縮, f:ファイル名を指定, (v:進捗表示)

tar czf files.tar.gz files

単に移行するだけならアーカイブせずにscpコマンドで直接ダウンロードしてもいいかも

scp -r [email protected]:/home/user/misskey/files/  /home/user/misskey/

リストア(復元)

(バックアップしたDBとドライブばscpコマンドなどで新サーバーに転送しておいてくだい)

まずは通常の手順に従ってMisskeyを構築します。
https://misskey-hub.net/ja/docs/for-admin/install/guides/

default.ymlは変更不可の設定もあるので以前のサーバーからコピーします。
また、Misskeyやパッケージのバージョンは元のサーバーと合わせて構築しましょう。

DBリストア

pg_restoreコマンドでリストアします。
-h: ホスト
-p: ポート
-U: ユーザー
-d: データベース

pg_restore --clean \
    -h 127.0.0.1 \
    -p 5432 \
    -U misskey \
    -d misskey \
    misskey_backup.dump

ドライブリストア

以下のコマンドで解凍してmisskeyディレクトリ下に配置します。

# .tar.gzを解凍するコマンド
# x:解凍, f:解凍するファイル, (v:進捗表示)

tar xf files.tar.gz

画像の表示やアップロードができない場合、権限に問題がある可能性があるので、misskeyの実行ユーザーに変更しましょう。

sudo chown -R misskey:misskey files/

Note

問題があれば@[email protected]に聞いてください。