Bitmani Redmineのバックアップとリストア
昨日書いた以下の続きから
nomoredeathmarch.hatenablog.com
バックアップとリストアの手段を確認したい
プロジェクトとかチケットとか細かい運用方法を考える前になにかあったときのためにバックアップとリストアの手順を確認しておく。また社内に普及する時にPC内のRedmineのチケットならなにやらをサーバーにスムーズに移したいしね。
とりあえずRedmineのバックアップって何をバックアップすれば良いのか。
以下参照
つまり
・Redmineインストールフォルダ内の「files」フォルダに入っているもの一式
・Redmineのデータが登録されているデータベースのフルバックアップ
この二つがバックアップされていれば良いということらしい。filesフォルダ内にはチケットやWikiに添付されたファイル類の保存先とのこと、それ以外のプロジェクトやチケットの情報はデータベース(Bitmaniのオールインワンパッケージを使ったならMySql)に保存されている様子。
データベース名、ユーザー名、パスワード等の確認
以下のファイルから確認出来た。
D:\Bitnami\redmine-4.0.3-3\apps\redmine\htdocs\config\database.yml
MySQLに触れるのがかなり久しぶりなので不安なのだけど概ね他のデータベース製品と同じだろう。
大体
・インスタンス名
・ユーザー名
・パスワード
・ポート
・エンコード
・ホスト名
このあたりを抑えとけばどうにでもなるだろう。
fileのバックアップ
こちらはなんてことないだろう。とりあえずフォルダ毎ごっそりコピーして避けてみた。
MySQLのパスの確認
バックアップ前にパスが通っているか確認してみたところ通っておらず。大体のデータベース製品てインストールした後に自分でパス通すしね。というわけでパスを通す場所を探してみたら以下のbinフォルダ内にそれらしいもの一式があったのでパスへ登録。と思ったけどコマンドファイルでやればいいかと思い登録せず。
dump取得用のコマンド作成
以下のようなコマンドを作って実行してみると実行直後に警告文が表示されるけどダンプ自体はとれた模様。binフォルダ内にファイルが出力されている。ちなみに警告の内容は「コマンドラインインターフェースでパスワードべた書きするな、セキュアじゃないだろアホか。」という旨の内容。はい、ごもっともです。
pause d: cd D:\Bitnami\redmine-4.0.3-3\mysql\bin mysqldump -u [username] -p[password] [databasename] > bitnami_redmine_backup pause
※[]部分は各環境に合わせて読みかえる。
リストアコマンドの作成
同じ要領でリストアコマンドを以下のように作った。で、実行するとバックアップの時と同じように警告が出るが処理出来た模様。
pause d: cd D:\Bitnami\redmine-4.0.3-3\mysql\bin mysql -u [username] -p[password] [databasename] < bitnami_redmine_backup pause
バックアップの結果を確認
filesを復元する手順は兎も角として、MySqlの方がこれで復元できているか不安なのでRedmineに適当にチケットやプロジェクトを登録して再度復元を実行してみたところ無事復元出来た。悪意を持ってログインしっぱなしでリストアしてみるとリストア直後に画面を移動するとセッションが失効した旨のエラーが出てログイン画面に戻された。
最後に
とりあえずバックアップとリストアは簡単に出来そうなので安心した。社内でサーバ立てることになってもこれなら簡単にローカルで抱えてたプロジェクトとかチケットを移せそう。