MawaLog

一日一日、楽しく生きる。技術と音楽が好き。

herokuのデータベースバックアップのやり方

Heroku: Up and Running

Heroku: Up and Running

  • 作者: Neil Middleton,Richard Schneeman
  • 出版社/メーカー: Oreilly & Associates Inc
  • 発売日: 2013/11/24
  • メディア: ペーパーバック
  • クリック: 2回
  • この商品を含むブログを見る

コメント

herokuでデータベースまわりについて確認したので、メモ。herokuはどうやらAWSのRDSのように自動でバックアップのスナップショットは取ってくれないらしい。でも、簡単に設定はできるので、やっとくと安全^^

コマンドメモ

#以下は全て@rootディレクトリ
#(manage.pyやProcFileがあるディレクトリ)

# アーキテクチャはDjango+Postgre


#1:hetokuプロジェクトに連携しているDBのスナップショットを取る(バックアップをとる)
$ heroku pg:backups:capture
Starting backup of [postgreインスタンス名]... done

Use Ctrl-C at any time to stop monitoring progress; the backup will continue running.
Use heroku pg:backups:info to check progress.
Stop a running backup with heroku pg:backups:cancel.

Backing up DATABASE to b001... done
#↑b001というのはバックアップのID



#2:hetokuプロジェクトに連携しているDBのバックアップなどの状況を確認

$ heroku pg:backups
=== Backups
ID    Created at                 Status                               Size      Database
────  ─────────────────────────  ───────────────────────────────────  ────────  ────────
b001  2018-04-26 02:14:14 +0000  Completed 2018-04-26 02:14:16 +0000  105.04KB  DATABASE

=== Restores
No restores found. Use heroku pg:backups:restore to restore a backup

=== Copies
No copies found. Use heroku pg:copy to copy a database to another




#3:毎晩深夜2時にバックアップを取る スケジュールを設定
$ heroku pg:backups:schedule DATABASE_URL --at '02:00 Asia/Tokyo'
Scheduling automatic daily backups of [postgreインスタンス名] at 02:00 Asia/Tokyo... done

追記

  • なお、コマンド実行がうまく反映されているかはherokuのGUIコンソールでも確認できます^^

  • バックアップは特に設定カスタムしない場合、直近の2個までしか保持されないので注意!

参考記事

www.bokukoko.info

Heroku PGBackups | Heroku Dev Center