My Tracking

My Tracking

記憶力の低下が気になるアラフォー男の備忘録

【Redmine】docker環境でのバックアップとリストア

docker環境上に構築されたRedmineのバックアップとリストアについての備忘録。

目次

環境の前提としては、以下の通り。

  • 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

バックアップ対象とするファイル

以下の記事の通り、

データのバックアップ方法 — Redmine.JP

以下をバックアップするものとする。

テストデータの登録

バックアップとリストア前に、テストデータを登録しておく。

バックアップとリストア前に、テストデータ用のチケットと

テストデータ用のナレッジ(添付画像付き)をあらかじめ登録しておく。

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  13 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  614  2017 backups
drwxr-xr-x 4 ment ment  37  614  2017 dotfiles
drwxr-xr-x 3 ment ment  18 1218 23:23 files
drwxr-xr-x 2 ment ment   6  614  2017 plugins
drwxr-xr-x 2 ment ment   6  614  2017 themes
drwxr-xr-x 5 ment ment 114  614  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/

テストデータ用のナレッジ(添付画像付き)が画像も含めて、リストアされたことを確認する。