Archive for: 𔃵月 2016’

Redmineバックアップスクリプト

2016年5月13日 Posted by PURGE

#!/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

SVNバックアップスクリプト

2016年5月13日 Posted by PURGE

#!/bin/sh
#
# SVN Repo backup script
#
REPO_DIR=/var/www/svn/repos/
MNT_DIR=/mnt/svn/
BAK_DIR="//10.0.0.0/windows/Backup/dir/svn"
HOT_BACKUP=/usr/share/doc/subversion-1.4.2/tools/backup/hot-backup.py
USER_NAME=username
PASSWD=xxxxxx

EXIT_STATUS=0
# 保存世代数(NOT WORKING)
# 実際のスクリプトに記載すること
export SVN_HOTBACKUP_BACKUPS_NUMBER=7

mount -t cifs -o username=$USER_NAME,password=$PASSWD $BAK_DIR $MNT_DIR

for REPO in `find $REPO_DIR -maxdepth 1 -mindepth 1 -type d`
do
  $HOT_BACKUP --archive-type=gz $REPO $MNT_DIR
  if [ $? = 0 ]; then
    logger "SVN Backup done. repository:$REPO, $BKFILE"
    echo "SVN Backup OK $BKFILE"
  else
    logger "SVN Backup NG $BKFILE"
    echo "SVN Backup NG $BKFILE"
    EXIT_STATUS=1
  fi
done

umount -l $MNT_DIR

exit $EXIT_STATUS