mysql のバックアップ

MySQLのバックアップは以前ちょっとだけメモっていたが、今回crontabに登録するためシェルに書き込む。

例:
#!/bin/sh
cd /usr/local/mysql/bin/
date=`date +%Y-%m-%d`
./mysqldump -u root -q testdatabase > /home/user1/db_backup/backup-$date.sql
rmdate=`date –date ’10 day ago’ +%Y-%m-%d`
rmfile=/home/user1/db_backup/backup-$rmdate.sql

if [ -e $rmfile ]; then
rm -f $rmfile
fi

このシェルを毎日実行すると、日付を入れたバックアップファイルを生成し11日目からは古いファイルを削除します。mysqldump の -q はメモリを節約したいため。

尚、復元する時は予めDBを一旦削除して作り直してから
# cd /usr/local/mysql/bin/
# ./mysql -u root testdatabase < /home/user1/db_backup/backup-2006-07-31.sql
とコマンド発行して回復。

参考:MySQL講座 +++[smart]
http://www.rfs.jp/server/mysql/02/07.html