MySQLの自動バックアップ

phpMyAdminなどGUIを使用した方法は、↓のURLの通り簡単にできます。

なので今回はCUI、コマンドベースでの自動バックアップについて調べました。
結論から言うと、以下のURLが解決してくれましたので是非読んでください。


…なのですが、一部自分仕様に変更の上抜粋します。

■STEP1:シェルを作ります。
---
TODAY=`date '+%Y%m%d_%H%M%S'`
YDAY=`date -d '180 days ago' '+%Y%m%d_%H%M%S'`
ACCOUNT_NAME=★さくらのアカウント名★
HOME_DIR=/home/${ACCOUNT_NAME}
BACKUP_DIR=${HOME_DIR}/★スクリプトやデーターの配置先★
BACKUP_FILEPATH=${BACKUP_DIR}/${TODAY}.txt.gz
DB_ADDRESS=mysql★MySQLサーバー番号★.db.sakura.ne.jp

/usr/local/bin/mysqldump --opt -c --host=${DB_ADDRESS} \
--user=★ユーザー名★ --password=★MySQLパスワード★ \
★データベース名★ | /usr/bin/gzip > ${BACKUP_FILEPATH}
#${BACKUP_DIR}/mail.sh ${BACKUP_FILEPATH}
rm ${BACKUP_DIR}/${YDAY}.txt.gz
---
・ポイント①:ファイル名変更してます。(例:20170424_120102.txt.gz)
・ポイント②:メール送信機能は不要なので、コメント(#)してます。
・ポイント③:180日(約半年)経った古いbackupファイルは消します。

■STEP2:さくらサーバのCRONの設定にぶちこみます。

わずか2STEPです。すばらしい。以上です。

【補足】
レンタルサーバが異なる場合は、mysqldumpが使用可能か問い合わせするとよいです。私の使っているさくら以外のレンタルサーバではmysqldumpを一契約者には使用させてもらえず、サーバ業者に金を払ってやってもらうプランでした。
色んな担保とか考えるとこれもアリなのかな。このへんはレンタル会社の良し悪しですね。

[PR]
by megumi11222000 | 2017-04-24 00:06 | MySQL | Comments(0)