Skip to content
Kosuke Tanabe edited this page Aug 16, 2024 · 19 revisions

バックアップ

データベース

PostgreSQLのデータベースを、pg_dumpを使用してバックアップします。以下の例では、enju_productionデータベースを/home/enju/backup/enju_dump.sqlにバックアップしています。

  • パスワードをたずねられたら、.envPOSTGRES_PASSWORDで指定しているパスワードを指定してください。
  • -U enju の部分は、.envPOSTGRES_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ディレクトリに保存されているため、上記のアプリケーションのバックアップ手順でバックアップされます。

リストア

  1. バックアップしたディレクトリをコピーします。ここでは/home/enju/enju_leafにリストアするとします。

    $ cp -a /home/enju/backup/enju_leaf /home/enju/enju_leaf
  2. データベースをリストアします。

    $ 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
  3. Webサーバと検索サーバを起動し、検索インデックスを再作成します。

    $ docker compose up -d
    $ docker compose run --rm web bin/rake sunspot:reindex
Clone this wiki locally