さくらのレンタルサーバビジネスプロでMySQLのバックアップ
さくらのレンタルサーバビジネスプロで、MySQLをcronで自動バックアップする方法です。
様々なサイトで紹介されていましたが、overseas*funさんのサイトが大変解りやすかったです。
ありがとうございます!
- backup.shというファイルを作成。
- 文字コードはUTF-8、改行コードはLF
- 内容は以下の通りです。(ユーザ名aaa パスワードbbb データベース サーバ mysqlxxx.db.sakura.ne.jp、backup.shとbackupファイルが/home/aaa/sql_backupに置いた場合)
#!/bin/sh
PATH=/bin:/usr/bin:/sbin:/usr/sbin:/usr/local/bin
KEEPDAY=30
TODAY=`date +’%y%m%d’`
DBDUMP_FILE=mysql.$TODAY
RMFILE=mysql.`date -v -”$KEEPDAY”d +%y%m%d`.gz
HOME_DIR=/home/aaa/sql_backup
BACKUP_DIR=$HOME_DIRcd $BACKUP_DIR
mysqldump -Q –host=mysqlxxx.db.sakura.ne.jp \
–user=aaa –password=bbb aaa >\
$DBDUMP_FILEgzip $DBDUMP_FILE >/dev/null 2>&1
if [ $? != 0 -o ! -e $DBDUMP_FILE ]; then
echo “SUCCESS! MAYBE!”
rm -f $RMFILE
exit 0
fi - コントロールパネルのcron設定で、「/home/aaa/backup.sh」とする。
これでうまく動作したのですが、バックアップデータのフィールドのコメントがutf-8で、レコードがEUCだったようで、なにやら文字化けします。。。
以下のようにオプションを追記したら文字化けが改善されました。
mysqldump -Q –host=mysqlxxx.db.sakura.ne.jp \
↓
mysqldump –default-character-set=binary -Q –host=mysqlxxx.db.sakura.ne.jp \
ご参考になれば幸いです。