Webサイトのお助け隊

データベースの定期的なバックアップを自動化する方法

2 views
約17分

バックアップを取ってなくて、全データが消えた話

結論から言うと、WordPressのバックアップは自動化すべき。手動でやってると、いつか絶対に忘れる。自動バックアップを設定しておけば、ハッキングやサーバー障害が起きても、すぐに復旧できる。

これは本当に恥ずかしい話なんだけど、5年くらい前に、クライアントのサイトのデータを全部消しちゃったことがある。っていうか、消しちゃったっていうより、消えちゃった。

その日は、プラグインのアップデートをしてた。で、アップデート後にサイトを確認したら、真っ白。いわゆる「白い画面」ってやつ。「あれ、おかしいな」って思って、いろいろ試してたら、データベースが壊れてた。

正直、あの時は本当に焦った。っていうか、パニックになった。クライアントに「データが消えました」って言わないといけない。どうしよう、どうしよう、って。

バックアップを探したんだけど、最後に取ったのが3ヶ月前。しかも、そのバックアップも古すぎて、復元できなかった。結局、クライアントに謝って、サイトを一から作り直すことになった。

あの時の教訓は、「バックアップは自動化しないとダメ」ってこと。手動でやってると、忙しい時に忘れる。で、忘れてる時に限って、トラブルが起きる。これは本当にあるある。

今回は、WordPressのデータベースを定期的に自動バックアップする方法を紹介していく。僕の失敗談も含めて、できるだけ実践的に書いていくつもり。

なぜバックアップが必要なのか

まず、なぜバックアップが必要なのか、簡単に説明しておこう。っていうか、これ知らない人も結構いるんじゃないかな。

WordPressサイトは、データベースファイルの2つで構成されてる。データベースには、記事、コメント、設定などが保存されてる。ファイルには、テーマ、プラグイン、アップロードした画像などが保存されてる。

このどちらかが壊れたり、消えたりすると、サイトが表示されなくなる。これは本当に怖い。

データが消える原因

データが消える原因は、いろいろある。

ハッキング被害: ハッカーがサイトに侵入して、データを削除したり、改ざんしたりする。これは本当によくある。僕も過去に何度も対応したことがある。

サーバー障害: サーバーが壊れて、データが消える。これは稀だけど、ゼロじゃない。実際、僕のクライアントでも、サーバー障害でデータが消えたことがある。

プラグインやテーマの不具合: プラグインやテーマのアップデート時に、データベースが壊れることがある。これは結構ある。

誤操作: 自分で間違ってデータを削除しちゃうこともある。これは本当に多い。僕も何度もやってる。

こういった原因で、データが消えることがある。だから、バックアップは必須。

バックアップがあれば、すぐに復旧できる

バックアップがあれば、データが消えても、すぐに復旧できる。これは本当にありがたい。

僕も、バックアップのおかげで、何度も助けられてる。クライアントのサイトがハッキングされた時も、バックアップから復元して、すぐに復旧できた。あの時は本当にホッとした。

バックアップすべきデータ

WordPressサイトでバックアップすべきデータは、大きく分けて2つ。

データベース

データベースには、以下のようなデータが保存されてる。

  • 記事: ブログ記事やページの内容
  • コメント: 読者からのコメント
  • 設定: サイトの設定、プラグインの設定など
  • ユーザー情報: ユーザー名、メールアドレスなど

これらのデータは、サイトの心臓部。これが消えると、サイトの内容が全部消える。だから、データベースのバックアップは最優先。

ファイル

ファイルには、以下のようなデータが保存されてる。

  • テーマ: サイトのデザイン
  • プラグイン: サイトの機能
  • アップロードした画像: 記事に使った画像など
  • wp-config.php: WordPressの設定ファイル

これらのファイルも重要。特に、アップロードした画像は、再アップロードするのが大変。だから、ファイルのバックアップも必要。

主要なバックアッププラグイン

WordPressには、バックアップを自動化するプラグインがいくつかある。ここでは、主要なプラグインを紹介していく。

UpdraftPlus

UpdraftPlusは、最も人気のあるバックアッププラグイン。無料版でも十分な機能がある。

主な機能

  • 自動バックアップのスケジュール設定
  • データベースとファイルを別々にバックアップ可能
  • Google Drive、Dropbox、Amazon S3などへの保存
  • ワンクリックで復元可能

僕もUpdraftPlusをよく使う。設定が簡単だし、復元も簡単。クライアントにも「UpdraftPlusを使ってください」って言ってる。

無料版と有料版の違い

  • 無料版: 基本的なバックアップ機能、主要なクラウドストレージに対応
  • 有料版: 増分バックアップ、データベース暗号化、マルチサイト対応など

無料版でも十分使える。有料版は、大規模サイトや、より高度な機能が必要な場合に検討すればいい。

BackWPup

BackWPupも、無料で使える高機能プラグイン。日本語にも対応してる。

主な機能

  • データベースとファイルを別々にバックアップ可能
  • FTP、Dropbox、Amazon S3などへの保存
  • スケジュール設定が柔軟
  • バックアップの圧縮形式を選択可能

BackWPupは、設定項目が多くて、最初はちょっと戸惑うかもしれない。でも、慣れれば、柔軟に設定できるから便利。

無料版と有料版の違い

  • 無料版: 基本的なバックアップ機能
  • 有料版: Google Drive対応、暗号化、サポートなど

無料版でも十分使える。有料版は、Google Driveを使いたい場合や、サポートが必要な場合に検討すればいい。

Duplicator

Duplicatorは、サイトの移行にも使えるプラグイン。バックアップと復元が簡単。

主な機能

  • サイト全体のコピーを作成
  • ワンクリックで復元
  • サイトの移行にも使える

Duplicatorは、サイトの移行によく使われる。でも、バックアップにも使える。僕も、サイトを別のサーバーに移行する時に、よく使う。

UpdraftPlusで自動バックアップを設定する方法

ここからは、UpdraftPlusを使った自動バックアップの設定方法を紹介していく。これは本当に簡単。

インストールと有効化

まず、UpdraftPlusをインストールして有効化する。

  1. WordPress管理画面にログイン
  2. 左のメニューから「プラグイン」→「新規追加」を選択
  3. 検索ボックスに「UpdraftPlus」と入力
  4. 「今すぐインストール」をクリック
  5. インストールが完了したら、「有効化」をクリック

これで、UpdraftPlusが使えるようになる。簡単でしょ?

基本設定

次に、基本設定をしていく。

  1. 左のメニューから「設定」→「UpdraftPlus Backups」を選択
  2. 「設定」タブをクリック

ここで、バックアップのスケジュールを設定する。

ファイルのバックアップ頻度

「ファイルのバックアップスケジュール」で、ファイルのバックアップ頻度を選択する。

  • 毎時: 更新頻度が非常に高いサイト
  • 毎日: 更新頻度が高いサイト
  • 毎週: 通常のサイト(推奨)
  • 毎月: 更新頻度が低いサイト

僕は、通常のサイトなら「毎週」を選んでる。ファイルは、そんなに頻繁に変わらないから、毎週で十分。

データベースのバックアップ頻度

「データベースのバックアップスケジュール」で、データベースのバックアップ頻度を選択する。

  • 毎時: 更新頻度が非常に高いサイト
  • 毎日: 通常のサイト(推奨)
  • 毎週: 更新頻度が低いサイト
  • 毎月: ほとんど更新しないサイト

僕は、通常のサイトなら「毎日」を選んでる。データベースは、記事を投稿したり、コメントが付いたりすると変わるから、毎日バックアップした方がいい。

保存するバックアップ数

「保存するバックアップ数」で、保存するバックアップの数を設定する。

例えば、「7」に設定すると、過去7回分のバックアップが保存される。古いバックアップは、自動的に削除される。

僕は、データベースは「30」、ファイルは「4」に設定してる。データベースは毎日バックアップするから、30日分保存すれば、過去1ヶ月分のバックアップが残る。ファイルは毎週バックアップするから、4週間分保存すれば、過去1ヶ月分のバックアップが残る。

保存先の設定

次に、バックアップの保存先を設定する。

UpdraftPlusは、以下のような保存先に対応してる。

  • Google Drive: 15GBまで無料
  • Dropbox: 2GBまで無料
  • Amazon S3: 従量課金、信頼性が高い
  • OneDrive: 5GBまで無料
  • FTP/SFTP: 別のサーバーに保存

僕は、Google Driveをよく使う。15GBまで無料だし、設定も簡単。

Google Driveの設定方法

  1. 「リモートストレージを選択」で「Google Drive」を選択
  2. 「変更を保存」をクリック
  3. 「Google Driveで認証」をクリック
  4. Googleアカウントでログイン
  5. UpdraftPlusにアクセスを許可

これで、Google Driveにバックアップが保存されるようになる。簡単でしょ?

手動バックアップの実行

設定が完了したら、一度手動でバックアップを実行してみよう。これで、バックアップが正常に取れるか確認できる。

  1. 「バックアップ/復元」タブをクリック
  2. 「今すぐバックアップ」をクリック
  3. バックアップに含めるものを選択(通常は両方チェック)
  4. 「今すぐバックアップ」をクリック

バックアップが開始される。サイトのサイズによっては、数分かかることもある。

バックアップが完了すると、「既存のバックアップ」に、バックアップファイルが表示される。これで、バックアップが正常に取れたことが確認できる。

復元方法

バックアップから復元する方法も、簡単に説明しておこう。

  1. 「バックアップ/復元」タブをクリック
  2. 復元したいバックアップを探す
  3. 「復元」をクリック
  4. 復元するコンポーネントを選択(通常は全部チェック)
  5. 「次へ」をクリック
  6. 「復元」をクリック

復元が開始される。復元が完了すると、サイトがバックアップ時点の状態に戻る。

僕も、何度もこの復元機能に助けられてる。クライアントのサイトがハッキングされた時も、この復元機能で、すぐに復旧できた。

BackWPupで自動バックアップを設定する方法

次は、BackWPupを使った自動バックアップの設定方法を紹介していく。BackWPupは、設定項目が多いけど、柔軟に設定できる。

インストールと有効化

まず、BackWPupをインストールして有効化する。

  1. WordPress管理画面にログイン
  2. 左のメニューから「プラグイン」→「新規追加」を選択
  3. 検索ボックスに「BackWPup」と入力
  4. 「今すぐインストール」をクリック
  5. インストールが完了したら、「有効化」をクリック

これで、BackWPupが使えるようになる。

ジョブの作成(データベースバックアップ)

BackWPupでは、「ジョブ」という単位でバックアップを設定する。まず、データベースバックアップのジョブを作成していく。

  1. 左のメニューから「BackWPup」→「新規ジョブを追加」を選択
  2. 「一般」タブで設定

一般タブの設定

  • ジョブ名: 「データベースバックアップ」など、分かりやすい名前を入力
  • ジョブタスク: 「データベースのバックアップ」にチェック
  • アーカイブ名: デフォルトのままでOK
  • アーカイブ形式: 「Zip」を選択
  • バックアップファイルの保存方法: 「フォルダーへバックアップ」を選択(後でクラウドストレージに変更可能)

「変更を保存」をクリック。

スケジュールタブの設定

次に、「スケジュール」タブをクリック。

  • ジョブの開始方法: 「WordPressのcron」を選択
  • スケジューラーの種類: 「基本」を選択
  • スケジューラー: 「毎日」を選択
  • 時刻: 深夜3時など、アクセスが少ない時間を選択

「変更を保存」をクリック。

これで、データベースのバックアップが毎日自動的に実行されるようになる。

ジョブの作成(ファイルバックアップ)

次に、ファイルバックアップのジョブも作成する。手順は、データベースバックアップとほぼ同じ。

  1. 左のメニューから「BackWPup」→「新規ジョブを追加」を選択
  2. 「一般」タブで設定

一般タブの設定

  • ジョブ名: 「ファイルバックアップ」など、分かりやすい名前を入力
  • ジョブタスク: 「ファイルのバックアップ」にチェック
  • アーカイブ形式: 「Zip」を選択
  • バックアップファイルの保存方法: 「フォルダーへバックアップ」を選択

「変更を保存」をクリック。

スケジュールタブの設定

次に、「スケジュール」タブをクリック。

  • ジョブの開始方法: 「WordPressのcron」を選択
  • スケジューラーの種類: 「基本」を選択
  • スケジューラー: 「毎週」を選択
  • 曜日: 日曜日など、アクセスが少ない曜日を選択
  • 時刻: 深夜3時など、アクセスが少ない時間を選択

「変更を保存」をクリック。

これで、ファイルのバックアップが毎週自動的に実行されるようになる。

クラウドストレージへの保存

BackWPupも、クラウドストレージへの保存に対応してる。ただし、無料版ではGoogle Driveに対応してない。Dropbox、Amazon S3、FTPなどには対応してる。

Dropboxの設定方法

  1. ジョブの編集画面で「宛先: Dropbox」タブをクリック
  2. 「Dropboxのアプリ認証コードを取得」をクリック
  3. Dropboxアカウントでログイン
  4. UpdraftPlusにアクセスを許可
  5. 認証コードをコピー
  6. BackWPupの設定画面に認証コードを貼り付け
  7. 「変更を保存」をクリック

これで、Dropboxにバックアップが保存されるようになる。

WP-Cronとサーバーのcronの違い

ここで、WP-Cronとサーバーのcronの違いについて、簡単に説明しておこう。これは結構重要。

WP-Cron

WP-Cronは、WordPressの疑似cron機能。サイトへのアクセスがあった時に、スケジュールされたタスクを実行する。

メリット

  • 設定が簡単
  • サーバーの知識が不要

デメリット

  • アクセスが少ないサイトでは、実行されないことがある
  • 正確な時刻に実行されない
  • サイトのパフォーマンスに影響することがある

アクセスが少ないサイトだと、WP-Cronが実行されないことがある。例えば、深夜3時にバックアップを実行する設定にしても、深夜3時にアクセスがなければ、バックアップは実行されない。

サーバーのcron

サーバーのcronは、サーバー側で設定する本物のcron。指定した時刻に、確実にタスクを実行する。

メリット

  • 確実に指定時刻に実行される
  • サイトのパフォーマンスに影響しない
  • より信頼性が高い

デメリット

  • 設定にサーバーの知識が必要
  • サーバーによっては設定できないことがある

サーバーのcronを使えば、確実にバックアップが実行される。僕も、重要なサイトでは、サーバーのcronを使ってる。

サーバーのcronでバックアップを実行する方法

サーバーのcronでバックアップを実行する方法を、簡単に説明しておこう。これは、ちょっと上級者向け。

WP-Cronを無効化

まず、WP-Cronを無効化する。wp-config.phpに以下のコードを追加する。

define('DISABLE_WP_CRON', true);

これで、WP-Cronが無効化される。

crontabの設定

次に、サーバーのcronを設定する。SSHでサーバーにログインして、以下のコマンドを実行する。

crontab -e

エディタが開くので、以下のような行を追加する。

0 3 * * * /usr/bin/php /path/to/wordpress/wp-cron.php

これは、「毎日深夜3時に、wp-cron.phpを実行する」という意味。/path/to/wordpress/は、WordPressがインストールされているパスに置き換える。

保存して終了すれば、設定完了。これで、毎日深夜3時に、確実にバックアップが実行されるようになる。

バックアップのベストプラクティス

最後に、バックアップのベストプラクティスを紹介しておこう。これは本当に大事。

複数の保存先を用意する

バックアップは、複数の保存先に保存するのがおすすめ。例えば、サーバー内とGoogle Driveの両方に保存する。

こうすれば、サーバーが壊れても、Google Driveからバックアップを取得できる。逆に、Google Driveのアカウントが乗っ取られても、サーバー内にバックアップが残ってる。

僕も、必ず複数の保存先を用意してる。これは本当に大事。

定期的にテストする

バックアップが正常に取れているか、定期的にテストするのも大事。バックアップファイルが壊れてることもあるから。

僕は、3ヶ月に1回くらい、テスト環境でバックアップから復元してみる。これで、バックアップが正常に取れているか確認できる。

バックアップの世代管理

バックアップは、複数の世代を保存するのがおすすめ。例えば、過去30日分のバックアップを保存する。

こうすれば、「1週間前のバックアップから復元したい」っていう時にも対応できる。僕も、必ず複数の世代を保存してる。

バックアップのセキュリティ

バックアップファイルには、データベースのパスワードなど、機密情報が含まれてる。だから、バックアップファイルのセキュリティも大事。

  • バックアップファイルにパスワードをかける
  • バックアップファイルへのアクセスを制限する
  • クラウドストレージの二要素認証を有効にする

これらの対策をすれば、バックアップファイルが漏洩するリスクを減らせる。

よくある質問

Q1: バックアップの頻度は、どれくらいがいいですか?

データベースは毎日、ファイルは毎週がおすすめ。

データベースは、記事を投稿したり、コメントが付いたりすると変わるから、毎日バックアップした方がいい。ファイルは、そんなに頻繁に変わらないから、毎週で十分。

ただし、サイトの更新頻度によって変わる。更新頻度が高いサイトなら、データベースを1日複数回バックアップするのもあり。

Q2: バックアップの保存先は、どこがいいですか?

クラウドストレージがおすすめ。特に、Google DriveやDropboxは、無料で使えるし、設定も簡単。

サーバー内だけに保存すると、サーバーが壊れた時に復旧できない。だから、必ずクラウドストレージにも保存しよう。

Q3: バックアップファイルは、どれくらい保存すればいいですか?

最低でも過去30日分を保存するのがおすすめ。

ストレージ容量に余裕があれば、90日分や1年分保存するのもあり。長く保存すれば、「3ヶ月前のバックアップから復元したい」っていう時にも対応できる。

まとめ

WordPressのバックアップは、自動化すべき。手動でやってると、いつか絶対に忘れる。自動バックアップを設定しておけば、ハッキングやサーバー障害が起きても、すぐに復旧できる。

UpdraftPlusやBackWPupなどのプラグインを使えば、簡単に自動バックアップを設定できる。データベースは毎日、ファイルは毎週バックアップするのがおすすめ。

バックアップの保存先は、クラウドストレージがおすすめ。Google DriveやDropboxなら、無料で使えるし、設定も簡単。複数の保存先を用意すれば、さらに安全。

定期的にバックアップをテストして、バックアップが正常に取れているか確認しよう。バックアップの世代管理も忘れずに。

これらの対策をすれば、WordPressサイトのデータを守れる。僕も必ずやってる。クライアントにも「バックアップは必須です」って言ってる。

WordPressのセキュリティ、不安に思っていませんか?

「自分のサイトは大丈夫だろうか…」
「何から手をつければいいか分からない…」

もしあなたが少しでもそう感じているなら、専門家によるセキュリティ診断を受けてみることを強くお勧めします。

>> WordPressセキュリティ無料診断はこちら

上記のサイトでは、WordPressのプロがあなたのサイトの脆弱性を無料で診断してくれます。問題が見つかれば、具体的な対策方法についてもアドバイスをもらえます。手遅れになる前に、一度プロの目でチェックしてもらい、安心を手に入れましょう。

FacebookでシェアTwitterでシェアPinterestでシェア