データのバックアップ方法
Redmineに格納されているデータのバックアップ・リカバリ方法です。
Redmineのデータを保全するためには以下のものをバックアップします。
- Redmineインストールディレクトリ以下のfilesディレクトリ
チケットやWikiに添付されたファイルが格納されています。 - データベース
添付ファイル以外の全ての情報がデータベースに格納されています。
Redmineのインストールディレクトリ直下のfilesディレクトリ(添付ファイル保存ディレクトリ)をコピーしてください。
filesディレクトリが空の場合、 添付ファイル保存ディレクトリが変更されている場合があります。 config/configuration.yml
ファイル内の attachments_storage_path
の設定を確認してみてください。
mysqldump
コマンドを実行してデータベースのダンプデータを取得します。
MySQLユーザー名、MySQLパスワード、データベース名はconfig/database.yml
内のusername
, password
, database
を参照すれば確認できます。
mysqldump -u MySQLユーザー名 -pMySQLパスワード Redmineデータベース名 > データ出力先ファイル名
注意: -p
とMySQLパスワードの間にスペースは不要です。
pg_dump
コマンドを実行してデータベースのダンプデータを取得します。
PostgreSQLユーザー名、ホスト名、データベース名、PostgreSQLパスワードはconfig/database.yml
内のusername
, host
, database
, password
を参照すれば確認できます。データベースのパスワードはpg_dump
コマンドを実行したときに入力を求められます。
pg_dump -U PostgreSQLユーザー名 -h ホスト名 -Fc --file=ダンプデータファイル名 Redmineデータベース名
PostgreSQLのインストールの形態によっては、ホスト名は不要なことがあります。
SQLiteのデータベースファイル(config/database.yml
内のdatabase
で指定されているファイル)をコピーしてください。
バックアップ元と同一バージョンのRedmineをインストールした後、バックアップ済みのfilesディレクトリとデータベースのデータを投入します。
バックアップしておいたfilesディレクトリの内容をそのままRedmineのfilesディレクトリに書き戻してください。
MySQLの場合
バックアップ時に取得したダンプデータを使って空のMySQLデータベースにデータを投入します。
mysql -u MySQLユーザー名 -pMySQLパスワード Redmineデータベース名 < ダンプデータファイル名
SQLiteの場合
バックアップしておいたSQLiteのデータベースファイルをコピーしてください。
PostgreSQLの場合
PostgreSQLのダンプデータをインポートするには pg_restore コマンドを使用します。
pg_restore -h データベースサーバのIPアドレス -U データベースのユーザー名 -d データベース名 --clean --if-exists --no-owner xxxxxxxx.sqlc
※指定するパラメータは構築済みの環境によって異なります。