MySQLのバックアップ手順 -消えたら困るものはバックアップ-
公開日: :
最終更新日:2014/04/20 IT
というわけで、MySQLをバックアップする際の手順。
内容
- [本番環境]mysqldumpでMySQLのバックアップ
- [本番環境]5日分のみ保存しそれ以上は削除する
- [バックアップ環境]rsyncを使って本番環境にあるバックアップデータを同期
※メモ※
バックアップ環境を本番環境のスレーブにし定期的にmysqldumpをしてバックアップをとるのも手かと思います。
手順
本番環境
まず、mysqldumpでMySQLのバックアップをとります。
以下のシェルスクリプトをcronに登録して自動でバックアップをとります。
#!/bin/sh # 残しておく日にち数 days=5 # バックアップ保存先 dirpath='/home/backup/sample/mysql' # ファイル名を定義 filename=`sample +%y%m%d` # mysqldump実行 mysqldump --opt --password=パスワード データベース名 > $dirpath/$filename.sql # パーミッション変更 chmod 700 $dirpath/$filename.sql # いらないバックアップファイルを削除 deletefile=`sample --date "$days days ago" +%y%m%d` rm -f $dirpath/$deletefile.sql
cronで毎日、朝に上記のスクリプトをおこなうように以下のように設定します。
#backup 40 01 * * * /home/backup/backup-mysql.sh
これでバックアップ保存先にMySQLのバックアップが保存されていきます。
バックアップ環境
本番環境にだけバックアップをとっていてもバックアップの意味がないので、rsyncを使って本番環境にあるバックアップデータをバックアップ環境で同期します。
ここではsshを使って本番環境のディレクトリと同期しています。
中身は以下のとおりです。
#!/bin/sh rsync -av -e "ssh -p ポート番号 -i /etc/ssh/rsync" 本番環境のIPアドレス:/home/backup/sample/ /home/backup/sample/
<注意>
上記シェルスクリプトを動作させる前に参考2のページを元にし作業をしておく必要があります。
参考
広告
関連記事
-
str_padとsprintfの速度
PHPで同じことが出来る「str_pad」と「sprintf」。 今まではsprintfを使う機会
-
jQuery Mobileのリストの見た目をちょっとカスタマイズ -覚書-
jQuery Mobileを使えば簡単にスマートフォン対応できる言えば出来るのですが、少しでもカスタ
-
jQuery Mobileでdata-role=headerを使うときの注意点 -勝手にタイトルが変更される件-
* 現象 +headタグでtitleタグで文字列(A)を記述している +data-role=he
-
jQuery Mobileでミスしたこと -JSだけ最新にしてしまってレイアウト崩れたの巻-
* 前提(CDN先) jQuery Mobileを使う場合、cssを自前のサーバにおいて、jsはC
-
はてなスターのアイコンを日本酒アイコンにしてみた
日本酒大好きです。 というわけで、はてなスターを日本酒アイコンにしてみました。 その流れ
-
Facebookで名刺を作ってみた -Mooの名刺作成サービス-
1ヶ月~半月くらい前に話題になっていたMooの名刺作成サービス。 話題になっていた時期に注文した名
-
jQuery Mobileのバージョンアップではまった – pushStateの存在 –
jQuery Mobileをつかってスマートフォン対応をしたときにはまったこと。 * 前提
-
iPhoneアプリ開発 -iOS6から変わったこと-
Deployment Targetを5.1にしていた時には気がつかなかったのですが、iOS6になって
-
アプリのためにFacebookページ作成 -現時点で注意すべき点-
* 前回 会社のメルアドでFacebookページを作成する方法を載せました。 * Faceboo
-
iPhoneアプリ開発 芳名帳アプリ作成(1) -最初の一歩-
* 作るアプリ 結婚式や2次会で「自分の名前を書く」芳名帳 これをアプリで作ってみます。