« アジャイル開発はメトリクスが取りやすい | トップページ | PFD(プロセスフローダイアグラム)で開発プロセスを設計する »

2014/02/22

Redmineのバックアップ処理

Redmineのバックアップ処理をメモ。

【元ネタ】
Redmineなど汎用的に使えるバックアップ処理(shellscript+cron+rsync) - Qiita

T2-Wonderland: 【ゼロから構築するRedmine】 第五回 Redmineの定期バックアップとリストアをするよ!(`・ω・´)

社内の数人の開発チームのタスク管理をRedmineでやる場合、最初は定期バックアップなんてあまり考えない。
でも、事業部全体、社内全体にRedmineが広がり、Redmineなしでは開発プロジェクトが回らなくなるような状況になると、定期バックアップは必要になる。
Redmineが壊れた、HDDが壊れた、ネットワークインフラが不安定になってRedmineが使えない、などの状況になると、Redmine中心のチケット駆動の開発プロジェクトでは、支障が出てくる。
文字通り、Redmineがソフトウェア開発の基幹システムになっているからだ。

ローカルサーバーに定期バックアップするだけなら、Redmineなど汎用的に使えるバックアップ処理(shellscript+cron+rsync) - Qiitaに書いてあるシェルスクリプトが一番簡単。
でもサーバーが壊れた場合も想定するなら、rsyncで別サーバーと同期する方がいいだろう。

ついでに、SubversionやGitリポジトリも定期バックアップするようにすればいい。

(引用開始)

redmine_backup.sh
#!/bin/bash

# Redmine Backup

# 定義
# バックアップ先フォルダ
TO_BK_DIR=/backup/to

# 現在日付(バックアップファイル名に使用)
NOW=`date +%Y%m%d%H`


# DBバックアップ
mysqldump -u DB_USER -pDB_PASS DB_NAME | gzip > $TO_BK_DIR/redmine/redmine_db_$NOW.sql.gz

# アップロードファイルバックアップ
gzip -rc /REDMINE_ROOT/files > $TO_BK_DIR/redmine_upload_$NOW.tgz

# 世代管理(更新日が7日以前のものは削除)
find $TO_BK_DIR/ -mtime +7 -type f -exec rm -f {} \;

# バックアップサーバと同期
rsync -avz --delete -e ssh $TO_BK_DIR/ username@remote_server:$TO_BK_DIR/

(引用終了)


|

« アジャイル開発はメトリクスが取りやすい | トップページ | PFD(プロセスフローダイアグラム)で開発プロセスを設計する »

Redmine」カテゴリの記事

コメント

コメントを書く



(ウェブ上には掲載しません)


コメントは記事投稿者が公開するまで表示されません。



« アジャイル開発はメトリクスが取りやすい | トップページ | PFD(プロセスフローダイアグラム)で開発プロセスを設計する »