#!/bin/sh # # Redmine DB backup script # FILE_DIR=/app/redmine/files/ DMP_DIR=/var/tmp/ MNT_DIR=/mnt/rm/ BAK_DIR="//10.0.0.0/windows/Backup/dir/rm" PERIOD=5 DB_USER=dbuser DB_PASS=xxxxxx USER_NAME=username PASSWD=xxxxxxx EXIT_STATUS=0 FILE_NAME=`date +%y%m%d` RM_FILE_NAME=`date --date "$PERIOD days ago" +%y%m%d` DMP_FILE=$DMP_DIR/Redmine_DB_$FILE_NAME.sql.gz ARC_FILE=$DMP_DIR/Redmine_FILE_$FILE_NAME.tar.gz RM_DMP_FILE=$MNT_DIR/Redmine_DB_$RM_FILE_NAME.sql.gz RM_ARC_FILE=$MNT_DIR/Redmine_FILE_$RM_FILE_NAME.tar.gz # ファイルサーバへマウント mount -t cifs -o username=$USER_NAME,password=$PASSWD $BAK_DIR $MNT_DIR # データのダンプ mysqldump --opt --single-transaction --default-character-set=binary -u $DB_USER --password=$DB_PASS --all-databases | gzip > $DMP_FILE echo "Redmine DB Backup OK" # 添付ファイルのアーカイブ tar cfvz $ARC_FILE $FILE_DIR echo "Redmine Files Backup OK" # ファイルの移動 mv $DMP_FILE $MNT_DIR mv $ARC_FILE $MNT_DIR echo "Redmine Files Move to Server OK" # ファイルの削除 rm $RM_DMP_FILE rm $RM_ARC_FILE echo "Redmine Files Cleanup OK" umount -l $MNT_DIR exit $EXIT_STATUS