Redmineのファイルバックアップスクリプト

2015年8月14日 Posted by PURGE

特にエラーハンドリングしていないが、覚え書きで。

#!/bin/sh
#
# Redmine DB backup script

FILE_DIR=/app/redmine/files/
DMP_DIR=/var/tmp/
MNT_DIR=/mnt/svn/
BAK_DIR="//10.10.10.10/windows/Backup/server/dir"
PERIOD=5
DB_USER=user
DB_PASS=pass

USER_NAME=winuser
PASSWD=winpass
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

# 添付ファイルのアーカイブ
tar cfvz $ARC_FILE $FILE_DIR

# ファイルの移動
mv $DMP_FILE $MNT_DIR
mv $ARC_FILE $MNT_DIR

# ファイルの削除
rm $RM_DMP_FILE
rm $RM_ARC_FILE
echo "Redmine Backup OK"

umount -l $MNT_DIR

exit $EXIT_STATUS

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です