-
Notifications
You must be signed in to change notification settings - Fork 24
OldBackup
Kosuke Tanabe edited this page Aug 16, 2024
·
2 revisions
以下の手順は1.3系以前のものです。1.4系以降のバックアップ手順はBackupを参照してください。
-
enju_leafを停止します。
- Dockerの場合
$ sudo systemctl stop enju_leaf.target
- VirtualBoxの場合
$ sudo systemctl stop enju_leaf.target
-
enju_leafをインストールしたディレクトリをバックアップします。ここでは /home/vagrant/enju ディレクトリにインストールしてあるとします。
$ cp -a /home/vagrant/enju /another/direcotry/
-
データベースファイルをバックアップします。
- SQLite3の場合
1でとったバックアップに含まれています。データベースのファイルは /home/vagrant/enju/db/production.sqlite3 です。 - PostgreSQLの場合
PostgreSQLのデータベースを、pg_dumpを使用してバックアップします。以下の例では、enju_productionデータベースをenju_dump.sqlにバックアップしています。
$ pg_dump enju_production > enju_dump.sql
- MySQLの場合
(TODO)
- SQLite3の場合
-
バックアップしたファイルをコピーします。ここでは /home/nabeta/enju にリストアするとします。
$ cp -a /another/direcotry/enju /home/nabeta/
-
以下のファイルを必要に応じて変更します。
- config/database.yml # データベースのホスト名やポートが変わった場合。SQLite3の場合は必要なし
- config/schedule.rb # Enjuのインストール先ディレクトリ名が変わった場合
- config/sunspot.yml # Solrの起動ホスト名やポートが変わった場合
- .env # プロキシサーバのホスト名が変わった場合
- データベースをリストアします。
- SQLite3の場合
/home/nabeta/enju/db/ 以下に、production.sqlite3ファイルがコピーされていることを確認します。 - PostgreSQLの場合
新しくデータベースを作成し、バックアップしたデータベースをリストアします。
$ createdb enju_production
$ psql enju_production -f enju_dump.sql
- MySQLの場合
(TODO)
- ライブラリをインストールします。
$ gem install bundler
$ bundle install
- Webサーバと検索サーバを起動し、検索インデックスを再作成します。
$ bundle exec rake environment sunspot:reindex RAILS_ENV=production
以下のものを移行する必要があります。
- データベースファイル
- アプリケーションファイル(enju_leafをインストールしたディレクトリ)
移行元と移行先のEnjuは同じバージョンを使用するようにしてください。