プログラムを中心とした個人的なメモ用のブログです。 タイトルは迷走中。
内容の保証はできませんのであしからずご了承ください。

2016/08/09

Bitnami Redmine のバックアップとリストア

update2018/04/18 event_note2016/08/09 8:30

Bitnami Redmine のデータのバックアップとリストアの方法です。
基本的には参考 URL の通りです。

パスワードの確認

まず Redmine で使用しているデータベース名、ユーザー名、パスワードを確認します。
これらは以下の設定ファイルの「Production」セクションに書かれています。
通常、データベース名は bitnami_redmine、ユーザー名は bitnami です。

C:\Bitnami\redmine\apps\redmine\config\database.yml

バックアップ

MySQLのバックアップ

スタートメニューから [Bitnami Redmine Stack] > [Use Bitnami Redmine Stack] を選択し、コマンドプロンプトを起動します。
以下のコマンドを入力します。

$ "C:\Bitnami\redmine-2.6.7-1\mysql\bin\mysqldump" -u bitnami -p bitnami_redmine  > バックアップファイル名

filesディレクトリのバックアップ

以下のフォルダを丸ごとバックアップします。

C:\Bitnami\redmine\apps\redmine\htdocs\files

リストア

MySQLのリストア

スタートメニューから [Bitnami Redmine Stack] > [Use Bitnami Redmine Stack] を選択し、コマンドプロンプトを起動します。
以下のコマンドを入力します。

$ mysql -u ユーザー名 -p データベース名 < SQLファイル

データベースのマイグレーションを行うため、以下のコマンドを入力し、カレントフォルダを移動します。

$ cd C:\Bitnami\redmine\apps\redmine\htdocs

以下のコマンドを入力し、データベースのマイグレーションを行います。

$ bundle exec rake db:migrate RAILS_ENV="production"

これでOKかと思っていたのですが、Bitnami RedmineをVer2.6.7→Ver3.3.0したときにはマイグレーションに失敗してしまいました。
既にテーブルが存在するというエラーメッセージが表示されていたので、MySQLから該当のテーブルを削除して、再度マイグレーションを行います。
まずMySQLに接続します。

$ mysql -u bitnami -p bitnami_redmine

以下のコマンドを順に入力してテーブルを削除していきます。(セミコロンを忘れないように)

drop table changeset_parents;
drop table queries_roles;
drop table custom_fields_roles;
drop table email_addresses;
drop table roles_managed_roles;
drop table imports;
drop table import_items;
drop table custom_field_enumerations;

データベースとの接続を解除します。

exit;

再度マイグレーションを行います。
尚、上記はバージョン3.3.0時のテーブルです。
これでもマイグレーションに失敗する場合はエラーメッセージを確認し、適宜テーブルを削除してください。

filesディレクトリのリストア

バックアップしたfilesディレクトリを以下の場所にコピーします。

C:\Bitnami\redmine\apps\redmine\htdocs\files

参考URL