LoginSignup
3
9

More than 5 years have passed since last update.

個人用Local Redmineのバックアップコマンド

Posted at

Bitnamiでほいほいとローカルインストールしたredmineのバックアップ方法です。

スモールスタートしたものの、バックアップなしは怖い、に対処する程度です。

元となるbatファイル

redmineフォルダにあるuse_redmine.batファイルを複製して改造します。(私はDドライブにインスコ)

@echo off
CALL "D:\Bitnami\REDMIN~1.3-1\scripts\setenv.bat"
D:
cd "D:\Bitnami\redmine-3.4.3-1"
START "Bitnami Redmine Stack Environment" cmd

mysqlをコピーする

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

mysqldump -u MySQLユーザー名 -pMySQLパスワード Redmineデータベース名 > データ出力先ファイル名
  • テーブルロックを掛けずにバックアップ

http://blog.seeds-std.co.jp/entry/3405.html

バックアップ中に更新が掛かって整合性が壊れないように、innodbで使える--single-transactionオプションを指定します。
現行bitnamiではすべてのテーブルがinnodbになっていることは確認しました。
MySQLサーバのストレージエンジン確認方法

{インスコフォルダ}\apps\redmine\htdocs\config\database.yml
production:
  adapter: mysql2
  database: bitnami_redmine
  host: 127.0.0.1
  username: bitnami     ← ユーザ名
  password: XXXXXXXX    ← パスワード
  encoding: utf8

添付ファイルの保管フォルダを階層ごと保存する

robocopyを使って差分コピーをする方法

  • 高度なコピーを実現してくれるrobocopyコマンド
  • オプション
    • /MIR ブランクフォルダも含めて階層ごとミラーリングコピー(コピー元に存在しないファイルはコピー先から削除)
    • /XA:SH 指定した属性のファイルを対象から除外(S:システム、H:隠し)
    • /XO 古いファイルを対象から除外

最終物

@echo off
CALL "D:\Bitnami\REDMIN~1.3-1\scripts\setenv.bat"
D:
cd "D:\Bitnami\redmine-3.4.3-1"
mysqldump -x -u bitnami -pXXXXXXXXX --single-transaction bitnami_redmine > d:\redmine_backup\mysqldump
Robocopy .\apps\redmine\htdocs\files\ d:\redmine_backup\files\ /MIR /XA:SH /XO
pause
exit
3
9
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
9