MySQLの簡単自動バックアップ

ブログの普及で個人が所有するWEBサイトも随分変わって来ました。
以前ならローカル側のPCで作成したデータをFTPでアップロードすることがほとんどだったので、常にローカルPCにあるデータがバックアップデータとして残っているものでした。
それがブログやCMSの普及とともに、特にMovableTypeやNucleusのように自サーバーにインストールする場合は、サーバー側でバックアップサービスがない限り、バックアップはしてないことがほとんどでしょう。
しかも、このブログデータというのは、MySQLというデータベース領域に保存されているため、通常のFTPではバックアップもできない少々厄介な代物でもあります。

最近、ロリポップのデータが一部消失するという事件がありましたが、これで困った人は多いのではないでしょうか。このときはMySQLではなく、WEBとMAILだったようですが。そんなロリポップが特別だと思いたいところですが、他の共有サーバーでもやはり考えられる問題だけに、深刻だったりします。
そこでMySQLのバックアップが必要になってきますが、ここで重要なのは「簡単自動バックアップ」であること。気にしなくても毎日バックアップが取れていることが重要になってきます。

調べてみると、「sh + cron」というのが一般的な方法のようですが、これをどんなサーバーでも簡単に使えるかというと、これはきびしいかもしれません。設置にも専門知識が必要なうえ、サーバーによって条件がかなり異なるようなのです。

そこで、phpならどうだろう?ということで、まず思い浮かぶのが、PhpMyAdminという管理ツール。これはほとんどのサーバーに標準装備されているので、設置する手間は省けるものの、自動バックアップは残念ながらありません。毎回、ログインして保存する項目を選んでローカルPCに落としてきます。時間にして約5分ほどですが複数のサイトで毎日これをするのは嫌です。

そこで教えてもらったのが、phpMyBackupProというオープンソースのプログラム。PhpMyAdminとは目的が異なり、こちらはバックアップと復旧することに特化した内容でした。
WEBサーバーへの保存、Eメールでの送信、FTPでの転送。と3つの方法が装備していますが、PHPのバージョンや仕様によって使える機能は制限されているようです。
これをcronで動かせば、夢の「MySQL自動バックアップ」が完成するわけですね。

あとはcronだけですが、共有サーバーのcron設定はどこも面倒で、さくらインターネット、XREA、CPI、エックスサーバー、と試してみましたが、どれも一筋縄では動いてくれませんでした。(ロリポップはその機能さえありません。)
そこで便利なのが、WebcronというASPサービス。PHPに対しても決まった時間にアクセスしてくれるので、これですべての問題が解決したのでした。

以下、参照リンクです。

>> phpMyBackupPro
>> Webcron

以下、補足です。

Webcronは無料ですが、3つまでしか設定ができません。そこで、それぞれのPHPファイルを一つのファイルにincludeすれば、使用するcronは毎朝5時ひとつで事足りました。

phpMyBackupProは日本語パッチが用意されています。
しかし、完全ではないようで一部文字化けします。慣れれば英語でも十分使えます。

バックアップしたデータについては、同一サーバーへの復旧は問題ありませんでしたが、他サーバーへの互換性は完全ではないようです。ただしこれはphpMyBackupProの問題というより、MySQLのバージョンによる互換性と考えた方がいいようです。とはいえ、知識を持った人がなんだかんだすれば、それも使えたりするんでしょうけど。

この記事にコメントする

Category

My Site

アイワークス
ホームページ制作オフィス Studio-BRAIN
ブログデザイン
ツーリング情報はちの巣
さぼてんTV

WordPress CMSテーマをお探しの方へ

WordPressテーマ
私の作ったWordPress用無料テーマを配布しています。是非お試しください。

アーカイブ

WP Theme designed by WSCプロジェクト. ログイン