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のページを元にし作業をしておく必要があります。

 参考

  1. mysqldumpとcronでMySQLを自動バックアップする | Linuxで自宅サーバ構築
  2. rsync-sshでパスワードなし認証(ポート指定)

広告

関連記事

no image

jQueryMobileでタッチ(スワイプ)してページ遷移 -Paginationプラグインの利用-

スマートフォン対応をしていてタッチしてページ遷移させたいケースがあるかと思います。 そんな時に便利

記事を読む

WordPressプラグイン「WP Hatena Notation」にPullRequestを投げた話

WordPressではてな記法が利用できる「WP Hatena Notation」を重宝しています。

記事を読む

no image

iPhoneアプリ開発 -mixiSDKを使ってmixi連携をしてみる(2)-

* 前回 は、「ユーザーにAPI利用のための認可」をおこなってもらうところまでやりました。 本エン

記事を読む

no image

iPhoneアプリをヒットさせるために大事な5つのこと

巷にはたくさんのiPhoneアプリがたくさんあります。 そして、毎日新しいアプリがリリースされていま

記事を読む

no image

CAPTCHAの導入方法 -KCAPTCHAの導入-

CakePHP(1.2、1.3)にKCAPTCHAを導入してみたのでメモ。 * CAPTCHA

記事を読む

iPhoneアプリ開発 芳名帳アプリ作成(1) -最初の一歩-

* 作るアプリ 結婚式や2次会で「自分の名前を書く」芳名帳 これをアプリで作ってみます。

記事を読む

no image

はてなスターのアイコンを日本酒アイコンにしてみた

日本酒大好きです。 というわけで、はてなスターを日本酒アイコンにしてみました。 その流れ

記事を読む

iPhoneアプリ開発 -UIScrollViewでタッチを取得-

* やりたいこと UIScrollViewでタッチを取得する。 * 方法 通常のUIScrollV

記事を読む

no image

jQuery Mobileではまったこと -広告が表示されない!($.mobile.changePage()でのページ遷移)-

swipeした際にページ遷移をさせるためにjQueryMobileの$.mobile.changeP

記事を読む

no image

Androidアプリ開発 -ギャラリーから選んだ画像のサムネイルを取得-

* やりたいこと +ボタンをクリックしてギャラリーを表示。 +ギャラリーで画像を選んだら、その画像の

記事を読む

広告

Message

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

次のHTML タグと属性が使えます: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

広告

no image
[感想] Effective Objective-C 2.0 ☆☆☆☆★(4.5)

* 構成 - 第1章 Objective-Cに慣れる -

no image
[感想] iOSアプリテスト自動化入門 ☆☆☆(3.0)

* 構成 - Chapter 1 テスト自動化への取り組み

DeployGateを試してみた(iOS編) -DeployGateがiOSに対応-

今までのDeployGate - -[http://pplace.

iPhone/iPadアプリを開発するためにやったこと

今までに、iPhoneを3本ほどリリース((リリースしたアプリは全て1

no image
ターミナルでgitのコマンドを補完したりブランチ名を表示する – macでgitを便利に使うために –

* やりたいこと macのターミナルでgitをいじっていると -今の

→もっと見る

PAGE TOP ↑