CORESERVER.JPでMySQL(DB)を自動バックアップする方法
adairyをデータベースで運用しだしてから気になっていたのがデータベースのバックアップ。ウェブコンテンツは他サーバにrsyncコマンドを使って二重化しています。(自動化できていないので、rsyncはまた別の機会で取り上げたいと思います。)
今回はデータベースを自動バックアップする方法をご紹介します。
一応CORESERVER.JP(コアサーバ)で動作確認を取れた方法をご紹介しますが、おそらく他のサーバでもそれほど大きな差は無いと思います。ご参考にしていただければ幸いです。
■ やりたいこと
- データベースのバックアップ(dumpファイル→圧縮)
- 何世代か残したい
- 他サーバへFTP転送
私の場合はCORESERVER.JP内に何世代かバックアップファイルを残しておき、万が一の事を考え、他社のサーバ(私はさくら)へ最新のファイルをFTPで転送するようにしたいと思います。以下にその設定手順についてご紹介しておきます。
■ 設定手順
1.CORESERVER.JP側に「backup-mysql」ディレクトリを作る(/virtual/
2.以下の2ファイルをbackup-mysql内に設置する。
- backup.sh(パーミッション755)
#!/bin/sh #===============================================================# # 設定(ここを自分に合わせる) DATABASE=【データベース名】 DBUSERNAME=【データベースユーザー名】 PASSWORD=【データベースパスワード】 XREAUSERNAME=【CORESERVERユーザー名】 BACKUPDIR=backup-mysql KEEPDAY=【何日間(何世代)バックアップを残すか】 # 初期化(XREA/CORESERVER用) PREFIX=【データベース名(ユーザー名_除く)】 SERVER=localhost NOWDATE=`date +%Y%m%d` DESTDIR=/virtual/$XREAUSERNAME/$BACKUPDIR DUMPFILE=mysql_$PREFIX.dump TARFILE=$PREFIX.$NOWDATE.tar.gz OLDDATE=`date "-d$KEEPDAY days ago" +%Y%m%d` # MySQLダンプ/圧縮 cd $DESTDIR /usr/local/mysql/bin/mysqldump $DATABASE --host=$SERVER -u $DBUSERNAME --password=$PASSWORD > $DUMPFILE tar zcvf $TARFILE $DUMPFILE # 処理判定 if [ $? != 0 -o ! -e $TARFILE ]; then echo "backup faild -- ($DUMPFILE)" exit 1 fi # 圧縮前ファイル削除 rm -f $DUMPFILE # n日ローテートを削除 rmfile=$DESTDIR/$PREFIX.$OLDDATE.tar.gz if [ -e $rmfile ]; then rm -f $rmfile fi cp $PREFIX.$NOWDATE.tar.gz sakura.$PREFIX.tar.gz #===============================================================# 【~バックアップするDBの数だけすべて記入~】 #===============================================================# ftp -n < ftp_command
- ftp_command
open 【バックアップ先FTPサーバURL】 user 【FTPユーザー名】【FTPパスワード】 bin prompt cd backup-mysql put sakura.【データベース名(ユーザー名_除く)】.tar.gz ……【~バックアップするDBをすべて記入~】 quit
3.SSHでログオンし、「backup.sh」を実行してみてうまく動作するか確認
4.正常動作を確認後、cronでbackup.shを1日1回(例えば23:50)に設定
以上で完了です。
■ 参考サイト
以下のサイトを参考にさせていただきました。ありがとうございました。







カテゴリー: インターネット
関連記事(こちらもあわせてどうぞ!)
- adiaryのデータベースをMySQLに移行しました。
- 海外サーバを借りてみた
- CORESERVERからSIXCOREへWordPressを移転する方法
- 「CORE BACKUPプラン」を使ってみた
- Firefox3.5の起動を高速化してみた
ここ一週間の人気記事(こちらもあわせてどうぞ!)
- 【まとめ】ソフトバンクが無料で配布しているFONルーター(Wi-Fiルーター)とFON/ソフトバンクWi-Fiスポット/BBモバイルポイントの関係についてまとめてみた 21531 回の閲覧
- Ultra WiFi SoftBank 007Z の便利&上手な利用方法を考えてみた 6199 回の閲覧
- iPhoneユーザーはSkypeを使わない手は無い!料金一覧&ホワイトプラン料金を比較してみた 5267 回の閲覧
- Ultra WiFi SoftBank 007Z を買ってみたので使用感をレポートしちゃうよ!(WiMAX、イーモバイルとの比較も) 5151 回の閲覧
- iPhoneのSoftbankモバイルの3G回線をスピードアップする方法(実は原因不明) 3539 回の閲覧





adiaryのデータベースをMySQLに移行しました。
CoreserverでMySQLのデータを自動的にバックアップする方法
CORESERVERでWordpressのDBバックアップを自動化する
Wordpressのデータベースバックアップの参考にさせていただきました。
1からスクリプトを組む手間が省けて大変助かりました!
matakichiさん、コメントありがとうございます。
お役に立てたようでよかったです(*^_^*)。