さくらインターネットでmysqlの自動バックアップ – 2007年 7月24日


さくらインターネットのレンタルサーバーは非常に高機能なんですが、バックアップ機能だけはありません。(私が確認する限り。)

HTMLやGIF、PHPなどのファイルはローカルのPCで持っているから大抵は大丈夫だとして、データベース系は間違って全部消してしまった日には目も当てられません。。定期的にバックアップを取るようにしていますが、忘れることもよくあるので、自動バックアップスクリプトをcronに登録しときました。


よくあるスクリプトですが、参考までに張っておきます。3日間分のMYSQLのバックアップデータを保持します。mysqlのID/PWなどは書き換えて下さい。

何もバックアップなんてしてない!という人は、自己責任で使ってみて下さい。

#!/bin/sh

PATH=/bin:/usr/bin:/sbin:/usr/sbin:/usr/local/bin

KEEPDAY=3
TODAY=`date +’%y%m%d’`
DBDUMP_FILE=mysql.$TODAY
RMFILE=mysql.`date -v -“$KEEPDAY”d +%y%m%d`.gz
HOME_DIR=/home/user_name
BACKUP_DIR=$HOME_DIR/backup

cd $BACKUP_DIR

mysqldump -Q –host=mysql?.db.sakura.ne.jp
–user=user_name –password=database_passwd database_name >
$DBDUMP_FILE

gzip $DBDUMP_FILE >/dev/null 2>&1

if [ $? != 0 -o ! -e $DBDUMP_FILE ]; then
echo “SUCCESS! MAYBE!”
rm -f $RMFILE
exit 0
fi

使用手順としては、最初にホームディレクト配下に、backupフォルダを作っておいて、このシェルスクリプトも適当な場所に設置。

次に、さくらインターネットの管理画面>cron設定で、「/home/user_name/シェルスクリプトの場所」を登録すればOKです。1日1回もやっておけばよいでしょう。シェルスクリプトの実行権は705じゃないと、さくらでは動かないのでご注意を。

カテゴリー:技術・開発