-
Notifications
You must be signed in to change notification settings - Fork 24
Backup
Kosuke Tanabe edited this page Aug 16, 2024
·
19 revisions
PostgreSQLのデータベースを、pg_dumpを使用してバックアップします。以下の例では、enju_productionデータベースを/home/enju/backup/enju_dump.sql
にバックアップしています。
- パスワードをたずねられたら、
.env
のPOSTGRES_PASSWORD
で指定しているパスワードを指定してください。 -
-U enju
の部分は、.env
のPOSTGRES_USER
で指定しているユーザ名に変更してください。たとえば、POSTGRES_USER=ubuntu
と指定している場合、-U ubuntu
になります。
$ cd enju_leaf
$ docker compose run --rm web pg_dump -h postgres -U enju enju_leaf_production > /home/enju/backup/enju_dump.sql
Enjuをインストールしたディレクトリをバックアップします。以下の例では、/home/enju/backup/
ディレクトリにバックアップしています。
$ cd ../
$ cp -a enju_leaf /home/enju/backup/
アップロードしたファイルは、既定ではアプリケーションのディレクトリ内にあるprivate
ディレクトリに保存されているため、上記のアプリケーションのバックアップ手順でバックアップされます。
-
バックアップしたディレクトリをコピーします。ここでは
/home/enju/enju_leaf
にリストアするとします。$ cp -a /home/enju/backup/enju_leaf /home/enju/enju_leaf
-
データベースをリストアします。
$ cd /home/enju/enju_leaf $ cp /home/enju/backup/enju_dump.sql . $ docker compose run --rm web bin/rake db:create $ docker compose run --rm web psql -h postgres -U enju enju_leaf_production -f enju_dump.sql
-
Webサーバと検索サーバを起動し、検索インデックスを再作成します。
$ docker compose up -d $ docker compose run --rm web bin/rake sunspot:reindex