DB のバックアップと復元確認を追加(ステップ10) #14

Merged
kazu634 merged 2 commits from db-backup into main 2026-10-04 18:40:00 +09:00
Owner

概要

ステップ10: DB のバックアップと復元確認のスクリプトを追加する(NAS の DSM タスクスケジューラ用)。

  • deploy/nas/tver-db/backup-db.sh: tver-postgres コンテナ内の pg_dump → gzip → /volume1/backups/tver/tver_<YYYYmmdd_HHMMSS>.sql.gz。14 日より古い世代を削除。空ダンプ・pg_dump 失敗は非 0 で一時ファイルを残さない。仕上げは ln で、同名の既存ダンプを上書きしない(同時実行も片方だけ成功)
  • deploy/nas/tver-db/restore-test.sh: 最新のダンプを一時 DB に復元し、4 テーブルの行数を本番と比較。本番 DB は読み取りのみ。成功・失敗とも一時 DB を削除し、結果を restore-test.log に残す
  • テストは偽の docker コマンドで実行(本物の docker・NAS に接続しない)
  • docs/deploy.md にバックアップの節(配置、DSM タスクスケジューラ、手動実行、復元確認、本番の復元手順)、PROJECT.md を更新

確認

  • go test -count=1 ./... → 206件成功・0失敗、go vet 指摘0、bash -n 成功
  • QA が上書き・同時実行の不具合を検出 → ln で差し戻し・修正済み。修正前の実装で 2 件失敗することを確認
  • dockage の使い捨て postgres:17(tver のマイグレーション 001〜003 を適用)で両スクリプトを実行し、ダンプ作成、同名 2 回目の非 0 終了と既存保持、4 テーブルの行数一致、一時 DB 削除、ログが結果の行だけになることを確認([実機] 2026-10-04)
  • NAS の tver-postgres と DSM タスクスケジューラでの実行は、マージ後にユーザーと確認する

🤖 Generated with Claude Code

https://claude.ai/code/session_01BcuBr9DyfcqZY8xFQsY5Di

## 概要 ステップ10: DB のバックアップと復元確認のスクリプトを追加する(NAS の DSM タスクスケジューラ用)。 - `deploy/nas/tver-db/backup-db.sh`: `tver-postgres` コンテナ内の `pg_dump` → gzip → `/volume1/backups/tver/tver_<YYYYmmdd_HHMMSS>.sql.gz`。14 日より古い世代を削除。空ダンプ・`pg_dump` 失敗は非 0 で一時ファイルを残さない。仕上げは `ln` で、同名の既存ダンプを上書きしない(同時実行も片方だけ成功) - `deploy/nas/tver-db/restore-test.sh`: 最新のダンプを一時 DB に復元し、4 テーブルの行数を本番と比較。本番 DB は読み取りのみ。成功・失敗とも一時 DB を削除し、結果を `restore-test.log` に残す - テストは偽の `docker` コマンドで実行(本物の docker・NAS に接続しない) - `docs/deploy.md` にバックアップの節(配置、DSM タスクスケジューラ、手動実行、復元確認、本番の復元手順)、`PROJECT.md` を更新 ## 確認 - `go test -count=1 ./...` → 206件成功・0失敗、`go vet` 指摘0、`bash -n` 成功 - QA が上書き・同時実行の不具合を検出 → `ln` で差し戻し・修正済み。修正前の実装で 2 件失敗することを確認 - dockage の使い捨て `postgres:17`(tver のマイグレーション 001〜003 を適用)で両スクリプトを実行し、ダンプ作成、同名 2 回目の非 0 終了と既存保持、4 テーブルの行数一致、一時 DB 削除、ログが結果の行だけになることを確認([実機] 2026-10-04) - NAS の `tver-postgres` と DSM タスクスケジューラでの実行は、マージ後にユーザーと確認する 🤖 Generated with [Claude Code](https://claude.com/claude-code) https://claude.ai/code/session_01BcuBr9DyfcqZY8xFQsY5Di
kazu634 added 1 commit 2026-10-04 16:04:27 +09:00
kazu634 added 1 commit 2026-10-04 18:39:23 +09:00
kazu634 merged commit e305791423 into main 2026-10-04 18:40:00 +09:00
kazu634 deleted branch db-backup 2026-10-04 18:40:01 +09:00
Sign in to join this conversation.
No Reviewers
No labels
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: kazu634/tver#14