りんちゃんの日記

日常を書き留めていきます。

redmineのバックアップとリストア

 

 

本番サーバにある、レッドマインのソースファイルとmariaDBのDBを
検証環境にコピーする。 

1. ソースのバックアップ(var/lib/redmine) ※本番サーバ

 1.1. httpd停止

 # systemctl stop httpd

 1.2. redmineソース圧縮

 # cd /var/lib
 # tar zcvf /tmp/redmine.tar.gz redmine/


 1.3. httpd停止

 # systemctl start httpd


 1.4. redmineソースの圧縮確認

 # ll /tmp/redmine.tar.gz
  【表示結果】
  -rw-r--r-- 1 root root 65739150 8月 16 00:08 /tmp/redmine.tar.gz

2. mariadbのバックアップ ※本番サーバ


 2.1. mariadbのdump

 # mysqldump -u ユーザ名 -pパスワード redmine > /tmp/redmine.sql


 2.2. dumpファイルの中身を目視確認

 # less /tmp/redmine.sql

 

 

3.ファイルのダウンロードと転送

上記手順で行ったredmineソース圧縮ファイルと
データベースダンプファイルをダウンロードし復元対象先のサーバに転送する

 3.1. /tmp配下に配置する


  redmine.tar.gz
  redmine.sql

 

4. ソースのリストア(/var/lib/redmine) ※検証サーバ(WEB)


 4.1. httpd停止

 # systemctl stop httpd


 4.2. ソースファイルを削除

 # rm -rf /var/lib/redmine


 4.3. ソースファイルをリストア

 # cd /var/lib
   

 カレントディレクトリにコピー
 # cp /tmp/redmine.tar.gz .

 解凍
 # tar zxvf redmine.tar.gz
  

 確認
 # ll
   drwxr-xr-x 20 apache apache 4096 5月 19 19:44 redmine    ※解凍後


 コピーファイル削除
 # rm -rf redmine.tar.gz

 4.4. database.ymlの変更

 注意:同じ環境の場合は必要なし。別サーバであれば必要


 # hostname (※検証サーバのDBサーバで実行し控えておく)
 
 # vi /var/lib/redmine/config/database.yml


  production:
   adapter: mysql2
   database: redmine
   host: ●●●●●●
   username: redmine
   password: "●●●●●●"
   encoding: utf8

 

5. mariaDBのリストア ※検証サーバ(DB)


 5.1. redmineデータベースリストア

 # mysql -u ユーザ名 -pパスワード redmine < /tmp/redmine.sql


 5.2. redmineユーザ接続テスト&テーブル確認

 # mysql --user=redmine --password=*** --database=redmine --host=redminedb

 # MariaDB [(none)]> show tables;

 

6. 確認 ※検証サーバ

 6.1. httpd起動

 # systemctl start httpd


 6.2.URLで内容を確認する

 http://xxx.xxx.xxx.xxx/


 6.3.redmineの設定変更(adminユーザ)


 個人設定 -> メールアドレス
 管理 -> 設定 -> 全般 -> ホスト名とパス
 管理 -> 設定 -> メール通知 -> ホスト名とパス


 6.4.redmineのURLにログインできない場合

 「4.4. database.ymlの変更」の設定を見直す

 

8. cronでバックアップファイルを作成(WEB)

 /var/lib/redmineのバックアップファイルを作成する

   8.1. バックアップフォルダ作成

    # mkdir /var/backup

 8.2. シェルファイル作成

   # touch /root/redmine_web.sh
   # vi /root/redmine_web.sh

        #!/bin/sh
        jikan=`date +%Y%m%d-%H%M`
        tar zcvf /var/backup/redmine_web_$jikan.tar.gz /var/lib/redmine
        find /var/backup -mtime +7 -exec rm -f {} \;

 8.3. cronに登録する

   # crontab -e

      * * * * * /usr/bin/sh /root/sh_redmine_web.sh

 8.4. シェルファイルの実行権限付与   

 # chmod a+x /root/redmine_web.sh

 

9. cronでバックアップファイルを作成(DB)

 Redmine(mariadb)のバックアップファイルを作成する

   9.1. バックアップフォルダ作成

    # mkdir /var/backup

 9.2. シェルファイル作成

   # touch /root/redmine_db.sh
   # vi /root/redmine_db.sh

 #!/bin/sh
jikan=`date +%Y%m%d-%H%M`
mysqldump --user=redmine --password=*** redmine > /var/backup/redmine_db_$jikan.sql
tar zcvf /var/backup/redmine_db_$jikan.tar.gz -C /var/backup/ redmine_db_$jikan.sql
rm /var/backup/redmine_db_$jikan.sql
find /var/backup/ -mtime +7 -exec rm -f {} \;

 

 9.3. cronに登録する

   # crontab -e

      * * * * * /usr/bin/sh /root/sh_redmine_db.sh

 9.4. シェルファイルの実行権限付与   

 # chmod a+x /root/redmine_db.sh

 

10. cronで設定する場合(参考)