ポータルに戻る

バックアップ・復元マニュアル

最終更新: 2026年4月5日

1. バックアップの概要

業務管理システムのデータベースは、毎日午前3:00に自動でバックアップされています。

万が一、データが消えたり壊れたりした場合でも、過去のバックアップから復元できます。

バックアップ管理ツール

バックアップの状態確認・手動バックアップ・データ復元は、管理ツールからブラウザ上で操作できます。

backup.kowa-cs.com を開く

バックアップの保管場所

保管場所 保持期間 用途
VPSサーバー内 直近 7日分 すぐに復元(高速)
さくらオブジェクトストレージ 直近 30日分 長期保管(外部)

3-2-1原則に準拠

  • 3つのコピー: Supabase本体 / VPS / オブジェクトストレージ
  • 2種類の媒体: クラウドDB / ファイルストレージ
  • 1つはオフサイト: さくらオブジェクトストレージ(別拠点)

2. バックアップの確認方法

バックアップが正常に動作しているか確認したい場合は、担当者(峠)にご連絡ください。以下の内容を確認いたします。

1

VPSローカルのバックアップ

直近7日分のファイルが保存されているか、ファイルサイズが正常か

2

オブジェクトストレージのバックアップ

直近30日分のファイルが外部保管されているか

3

バックアップログ

エラーが発生していないか

3. 復元が必要になったら

以下のような場合にデータの復元が必要になります。

データの誤削除

システム障害

セキュリティ被害

復元作業について

復元作業は担当者(峠)が行います。データの復元が必要と思われる場合は、すぐにご連絡ください。復元するデータの日付(いつ時点のデータに戻したいか)をお伝えいただけると、スムーズに対応できます。

4. 復元手順(技術者向け)

# Step 1: VPSに接続

ssh ubuntu@49.212.131.156

# Step 2: バックアップ一覧を確認

ls -lh /var/backup/

# OSSから取得する場合(7日〜30日前)

s3cmd ls s3://kowa-db-backup/

s3cmd get s3://kowa-db-backup/supabase_YYYYMMDD_HHMM.dump /var/backup/

# Step 3: ダンプファイルの整合性を確認

/usr/lib/postgresql/17/bin/pg_restore --list /var/backup/supabase_YYYYMMDD_HHMM.dump | head -20

# Step 4: 既存データをクリア(publicスキーマのみ)

PGPASSWORD='****' psql \

-h aws-1-ap-northeast-1.pooler.supabase.com \

-p 5432 -U postgres.kahfuhrjujzvazhvyjey -d postgres \

-c "DO \$\$ DECLARE r RECORD; BEGIN FOR r IN (SELECT tablename FROM pg_tables WHERE schemaname = 'public' AND tablename != '_prisma_migrations') LOOP EXECUTE 'TRUNCATE TABLE public.' || quote_ident(r.tablename) || ' CASCADE'; END LOOP; END \$\$;"

# Step 5: バックアップからデータを復元

/usr/lib/postgresql/17/bin/pg_restore \

-h aws-1-ap-northeast-1.pooler.supabase.com \

-p 5432 -U postgres.kahfuhrjujzvazhvyjey -d postgres \

--data-only --schema=public --no-owner --no-privileges \

/var/backup/supabase_YYYYMMDD_HHMM.dump

# Step 6: 動作確認

# ブラウザで https://src-taupe-sigma.vercel.app にアクセスし、

# 業者一覧・工事一覧・請求金額入力画面が正常に動作するか確認

5. 手動バックアップ

大きな変更を行う前など、定期バックアップ以外にバックアップを取りたい場合は、担当者にご連絡いただくか、以下のコマンドで手動実行できます。

bash ~/backup/backup_supabase.sh

6. トラブルシューティング

バックアップファイルのサイズが 0 になっている

Supabaseへの接続に失敗した可能性があります。バックアップログ(~/backup/backup.log)を確認してください。

また、Supabase Freeプランは7日間操作がないとDBが一時停止されます。Supabaseダッシュボードでプロジェクトの状態を確認してください。

オブジェクトストレージにファイルがない

さくらオブジェクトストレージのアクセスキーが無効化されていないか確認してください。さくらのクラウドコントロールパネルからアクセスキーの状態を確認できます。

復元時にバージョン不一致エラーが出る

pg_restoreのバージョンがSupabase(PostgreSQL 17)と一致していない可能性があります。/usr/lib/postgresql/17/bin/pg_restore を使用してください。

7. お問い合わせ

復元作業が必要な場合や、バックアップに関するご不明点がございましたら、以下までご連絡ください。

担当: 峠 悠介

メール: y.touge.rec@gmail.com