WordPressとかZenCartとかよく使うようになってきたんで、データベースのバックアップについて考えてみました。
とりあえず、WordPressはプラグインでデータベースを自動的にバックアップしてくれるのがあったんで、毎日バックアップしてメールで自分に飛ばしてます。
ZenCartはそういったプラグンを見つけられなかったので、検索して幾つか試してみました。
まずは、簡単なツールを検索したところ以下のサイトを発見
★MySQLの自動バックアップ phpMyBackupPro (masha.webTechLog)
手動でバックアップは出来ましたが、クーロンで自動実行するところでちょっとつまずいて、とりあえず後回し。
次にスクリプトを書いて実行する方法を探して、以下を発見
★MySQLのCRON自動バックアップ – overseas*fun
実行時に
RMFILE=mysql.`date -v -”$KEEPDAY”d +%y%m%d`.gz
で“-v”に関してエラーが出てたので、こちらのページを参考に編集
★MySQLの定期的バックアップ(cron) : Project MultiBurst
最終的にこんな感じになりました。
#!/bin/sh
PATH=/bin:/usr/bin:/sbin:/usr/sbin:/usr/local/bin
KEEPDAY=10
TODAY=`date +’%y%m%d’`
DBDUMP_FILE=mysql.$TODAY
RMFILE=mysql.`date “-d$KEEPDAY days ago” +%y%m%d`.gz
HOME_DIR=/home/testdir
BACKUP_DIR=$HOME_DIR/dbbackupcd $BACKUP_DIR
mysqldump -Q \
–user=dbuser –password=dbpassword testdb >\
$DBDUMP_FILEgzip $DBDUMP_FILE >/dev/null 2>&1
if [ $? != 0 -o ! -e $DBDUMP_FILE ]; then
echo “SUCCESS! MAYBE!”
rm -f $RMFILE
exit 0
fi
クーロン出の実行は、レンタルサーバの管理画面から設定できたので割愛しますが、上記の参考にしたサイトにも書いてますね。
■その他参考
★MySQLのバックアップをcronを利用して定期的に行おう!! (プログラマ 福重 伸太朗 ~基本へ帰ろう~)