Redmineバックアップスクリプト¶
- 日次実行するバックアップスクリプト
- 「/usr/local/redmine」をバックアップする(変数で指定可能)
スクリプト¶
スケジュール¶
- cronで設定する
# crontab -e ----------------------------- 0 0 * * * sh /usr/local/redmine_backup.sh > /dev/null 2>&1
実行スクリプト¶
*ファイルを作成し、下記を編集する- バックアップ先
- 削除する日付
- SQLのユーザパスワード
- スクリプト本体
# vi /usr/local/redmine_backup.sh ----------------------------- #!/bin/bash PATH=/usr/local/sbin:/usr/bin:/bin # バックアップ対象 TARGET_DIR=/usr/local/redmine TARGET="log files config" SQL=redmine_dump.sql # バックアップ先 BACKUP_DIR=/backup/ # バックアップファイル名 ARCHIVE_NAME=redmine_backup # 今日の日付を取得する DATE=`/bin/date '+%Y%m%d'` # 削除する日付を取得する DELETE_DATE=`/bin/date -d '3 day ago' +%Y%m%d` # バックアップ先のチェック if [ ! -d "${BACKUP_DIR}" ]; then mkdir ${BACKUP_DIR} fi # バックアップ対象のディレクトリへ移動 cd ${TARGET_DIR} # バックアップ(SQLのユーザ/パスを指定) mysqldump -u ユーザ名 -pパスワード redmine > ${SQL} tar czf ${ARCHIVE_NAME}.tar.gz ${T1} ${TARGET} ${SQL} rm -f ${SQL} # バックアップ先へ移動、日付を付加 mv ${ARCHIVE_NAME}.tar.gz ${BACKUP_DIR}${ARCHIVE_NAME}_${DATE}.tar.gz # 過去のバックアップを削除 if [ -f "${BACKUP_DIR}${ARCHIVE_NAME}_${DELETE_DATE}.tar.gz" ]; then rm -rf ${BACKUP_DIR}${ARCHIVE_NAME}_${DELETE_DATE}.tar.gz fi