Skip to content

Instantly share code, notes, and snippets.

@tobijibu
Created January 15, 2017 02:17
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save tobijibu/64832029c75d7ed2ec3c74bb43fc3695 to your computer and use it in GitHub Desktop.
Save tobijibu/64832029c75d7ed2ec3c74bb43fc3695 to your computer and use it in GitHub Desktop.
#!/bin/sh
# バックアップファイルを/home/tobijibu/redmine_bkupsにアップロードしておく
# バックアップディレクトリ名をyyyymmdd_HHMM形式で渡す
# 例 : sh restore_redmine.sh 20160316_1100
echo "restore start"
if [ ! $1 ]; then
# ディレクトリ名が渡されてないならメッセージ表示
echo "Error: please set dirname(bkup date yyyymmdd_HHMM)"
exit 1
fi
DIRNAME=$1
BKUPPATH=/home/tobijibu/redmine_bkups
BKUPDIR=$BKUPPATH/$DIRNAME
if [ ! -e ${BKUPDIR}.tar.gz ]; then
# 指定したファイルが無いならエラー
echo "Error: not filename"
exit 1
fi
cd
tar xvzfp ${BKUPDIR}.tar.gz -C $BKUPPATH
if [ ! -d $BKUPDIR ]; then
# 解凍したファイルがディレクトリでないならエラー
echo "Error: not dirname"
exit 1
fi
# mysqlアクセス情報格納一時ファイルを作成
MYSQLCLIENT_CNF=`mktemp`
echo "[client]" >> $MYSQLCLIENT_CNF
echo "user = (ユーザー名)" >> $MYSQLCLIENT_CNF
echo "password = (パスワード)" >> $MYSQLCLIENT_CNF
# Redmineのfilesの所有者を変更
chown -R apache:apache $BKUPDIR/files
# Redmineのディレクトリへコピー
cp -Ra $BKUPDIR/files /var/lib/redmine
# mysqlをリストア
mysql --defaults-extra-file=$MYSQLCLIENT_CNF redmine < $BKUPDIR/mysql.dump
# 一時ファイルを削除
rm -rf $BKUPDIR
rm -rf $MYSQLCLIENT_CNF
echo "restore complete!"
exit 0
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment