「phpMyBackupPro」でMySQLデータベースのバックアップ

September 25, 2009
phpmybackuppro_main.gif

Movable TypeやWordpressなどのMySQLデータベースを利用したサイト制作で、忘れていけないのがデータベースのバックアップ。

今までは、時間の空いたときにphpMyAdminにログインして、手動でデータベースをバックアップとっていたのですが、サイトが増えてくると、これが超面倒。

自動でバックアップがとれないものかとネットで調べると、「phpMyBackupPro」が便利だと先輩方が書いてあるので試してみました。

「phpMyBackupPro」のインストール

1. phpMyBackupPro本体とlanguage files(Japanese)をダウンロード

phpMyBackupPro - the MySQL backup tool :: Features

日本語化したセットを配布されている方もいらっしゃいます。

phpMyBackupProを日本語化してみました | kyms

2. ファイルを解凍する

本家サイトからダウンロードした場合は、language filesをphpMyBackupProのlanguageディレクトリに入れておく。

3. FTPでファイルをアップロード

4. global_conf.phpファイルとエクスポート用ディレクトリのパーミッションを「777」に変更

これで準備OK。

なお、セキュリティな観点から、phpMyBackupPro内にある「global_conf.php」は別のディレクトリに移すことが推奨されているらしく、下記のサイトを参考に別ディレクトリに移動させました。

phpMyBackupPro――最も簡単に扱えるMySQL用バックアップツール - SourceForge.JP Magazine

「phpMyBackupPro」の設定

1. 「http://サイトアドレス/phpMyBackupPro/」にアクセス

2. バックアップするMySQLの設定

設定画面

とりあえず、言語をjapaneseに変更して「データ保存」。

バックアップするMySQLの設定をする。メール添付でバックアップも追加してみました。設定が完了したら「データ保存」で保存。

3. バックアップの確認

バックアップ画面

メニューから「バックアップ」ページに移動する。

バックアップをとるデータベースを選択し、「バックアップ」を実行すると、サーバ上の「export」ディレクトリにバックアップが保存されます。

4. 「リストア」の確認

リストア画面

「リストア」にはバックアップされたデータベースの詳細が表示される。行が追加されていればOK。実に簡単!

cronで自動化

利用しているのが「エックスサーバー」なので、下記のcronの設定方法参考にしました。

エックスサーバーのcron設定方法 エックスサーバーのcron設定画面

cronに渡すコマンドは、

php -q /home/サーバID/ドメイン/public_html/phpMyBackupPro/backup.php DBname 1 1 1 1

※改行なしで一行で書く。半角スペースで引数を区切る。

  • 1番目の引数:バックップしたいDB名
    データベースは、「,」で区切って複数選択できるそうですが、何度やってもエラーがでたので、データベースごとに一つずつcronを作成。調べてみないと。
  • 2番目の引数:テーブルをエクスポートする(1)しない(0)
  • 3番目の引数:データをエクスポートする(1)しない(0)
  • 4番目の引数:「drop table」を付加する(1)しない(0)
  • 5番目の引数:gzipで圧縮する(1)しない(0)

指定日時になるとバックアップが実行されました。メールも確認。

なお、バックアップされるのはデータベースのみなので、アップロードした画像やPDFデータは別にバックアップする必要があります。それでも負担はかなり軽減されました。

パソコンは壊れたら買い替えればいいけど、苦労して作成したデータやお客さんのデータは購入することはできませんからね。

何ヶ月も放置してたcheck*padの「定期的なバックアップをする」って書いたToDoリストを一個消せるのも嬉しいw

関連記事

トラックバック(0)

コメントする


画像の中に見える文字を入力してください。

PageTop