【Redmine】docker環境でのバックアップとリストア
docker環境上に構築されたRedmineのバックアップとリストアについての備忘録。
目次
- 目次
- 環境の前提としては、以下の通り。
- バックアップ対象とするファイル
- テストデータの登録
- MySQLのバックアップ
- Redmineのfilesディレクトリのバックアップ
- テストデータの削除
- Mysqlのリストア
- Mysqlのリストア後の確認
- Redmineのfilesディレクトリのリストア
環境の前提としては、以下の通り。
- dockerのバージョンは、以下を利用。
[root@docker ~]# docker -v Docker version 1.12.6, build 96d83a5/1.12.6 [root@docker ~]#
/srv/docker/redmine/mysql
/srv/docker/redmine/redmine
バックアップ対象とするファイル
以下の記事の通り、
以下をバックアップするものとする。
テストデータの登録
バックアップとリストア前に、テストデータを登録しておく。
バックアップとリストア前に、テストデータ用のチケットと
テストデータ用のナレッジ(添付画像付き)をあらかじめ登録しておく。
MySQLのバックアップ
以下のコマンドでMySQLのバックアップを実行する。
[root@docker ~]# docker exec -it mysql-redmine mysqldump -uroot redmine_production -v -r /var/lib/mysql/redmine.dmp
バックアップのファイルが作成されている(ここでは、「/srv/docker/redmine/mysql/redmine.dmp」)ことを確認する。
[root@docker ~]# ls -l /srv/docker/redmine/mysql/redmine.dmp -rw-r--r-- 1 root root 109637 1月 3 22:01 /srv/docker/redmine/mysql/redmine.dmp [root@docker ~]#
Redmineのfilesディレクトリのバックアップ
Redmineのfilesディレクトリ「ここでは、「/srv/docker/redmine/redmine/files」)をコピーしておく。 コピー先は、ここでは「/home/ment/backup/files」とする。
[root@docker redmine]# pwd /srv/docker/redmine/redmine [root@docker redmine]# [root@docker redmine]# ls -l 合計 0 drwxr-xr-x 2 ment ment 6 6月 14 2017 backups drwxr-xr-x 4 ment ment 37 6月 14 2017 dotfiles drwxr-xr-x 3 ment ment 18 12月 18 23:23 files drwxr-xr-x 2 ment ment 6 6月 14 2017 plugins drwxr-xr-x 2 ment ment 6 6月 14 2017 themes drwxr-xr-x 5 ment ment 114 6月 14 2017 tmp [root@docker redmine]# [root@docker redmine]# cp -r files /home/ment/backup [root@docker redmine]#
テストデータの削除
バックアップしたデータのリストア前にテストデータをいったん削除する。
まず、テスト用のチケットを削除する。
テスト用のチケットが削除された。
次に、テスト用のテストデータ用のナレッジ(添付画像付き)を削除する。
テストデータ用のナレッジ(添付画像付き)が削除された。
Mysqlのリストア
実際に、Mysqlのバックアップファイルからのリストアを下記のコマンドで実行する。
[root@docker redmine]# cat /srv/docker/redmine/mysql/redmine.dmp | docker exec -i mysql-redmine /usr/bin/mysql -u root redmine_production ~この環境では、実行後、30秒程度でプロンプトが戻る~ [root@docker redmine]#
Mysqlのリストア後の確認
テスト用のチケットがリストアされる。
テストデータ用のナレッジ(添付画像付き)もリストアされたが、この時点では画像がリストアされていない。
Redmineのfilesディレクトリのリストア
Redmineにアップとロードされた画像をリストアするために、 予め、バックアップしたfilesディレクトリを以下のようにコピーし、リストアする。
[root@docker redmine]# cp -r /home/ment/backup/files/ /srv/docker/redmine/redmine/
テストデータ用のナレッジ(添付画像付き)が画像も含めて、リストアされたことを確認する。