redmineのバックアップ
redmineの存在が大きくなるにつれて
バックアップしてないことが不安になってきました。
今回、cronで毎日バックアップを取り、dropboxに保存するようにします。
dropboxの設定は過去の記事を参照
バックアップシェルの作成
/root配下に以下のようなシェルを作成しました。(これを参考にしました)
#!/bin/bash # Redmine Backup # 定義 # バックアップ先フォルダ TO_BK_DIR=/root/Dropbox/backup/redmine/ # 現在日付(バックアップファイル名に使用) NOW=`date +%Y%m%d%H` # 各種設定 DB_USER=mysqlのユーザ名 DB_PASS=mysqlのパスワード DB_NAME=mysqlのデータベース名 REDMINE_ROOT=redmineのルートディレクトリ # DBバックアップ mysqldump -u $DB_USER -p$DB_PASS $DB_NAME | gzip > $TO_BK_DIR/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 {} \;
実行権をつけます
chmod +x backup_redmine.sh
cronに登録しておきます。
# crontab -e 毎朝4時に実行なら 0 4 * * * /root/backup_redmine.sh >/dev/null 2>&1