ワードプレスのサイトのデータをデータ消失に備えて正しく確実にバックアップの取り方をプラグインBackWPupを利用してとる方法とプラグインを利用しないでバックアップを取る方法に分けて解説いたします。
また、サイトの規模によって最適なバックアップの設定や、保持方法、タイミングについても解説しています。
この記事の目次
バックアップはなぜ必要?
ワードプレスのデータがすべてなくなるということは非常にまれですが、実際に弊社が復旧いたしましたクライアント様でデータ消失されている方の事例もございます。いくつか挙げますと下記のような理由でワードプレスのデータがなくなってしまうことがあります。
●サーバーのワードプレスの自動インストール機能を間違えて使用してしまい、上書きされてサイトが消失してしまった
●ウィルス感染を排除しようとして、サイトのデータを置き換えているときに誤って重要なデータも消してしまった
●テーマに変更を加えて、特定の処理命令がデータベースの構造を壊してしまいデータが喪失してしまった
●知人により不正に管理画面にアクセスされて投稿を全部消されてしまった
●テーマの更新を行ったことにより、サイトのデザインが消えてしまった
.
またファーストサーバー社のデータ喪失事件のように、サーバーの運営会社によりサイトデータが消えてしまうことも考えられます。
このため、いつでも復旧可能なようにバックアップは一定期間で行っておく方が安心かと存じます。特に企業や個人様にとって収益を担うサイトであれば頻繁にバックアップを取って万が一データが喪失しても即座に復旧できるように備えておかれることが重要です。
ワードプレスのバックアップの基本
では、ワードプレスサイトを完全に復旧可能にするには何をどのようにバックアップしておけばよいのでしょうか?
ワードプレスのサイトのデータは、大きく分けてワードプレスを動作させているプログラムが含まれる実ファイル部と、投稿の文字列や設定などが含まれるデータベースのデータの2つのデータ構造により成り立っています。
ワードプレスの実データ部分(一般的なプログラムファイル群です)例
データベース閲覧ソフトウェアで見たデータベースのデータ例
このため、ワードプレスサイトを完全に復旧させるには上記二つの種別のデータを取得して別の場所に保持しておく必要がございます。特にデータベースは日々更新される文字情報を含んでいるため頻度を高くバックアップを取っておきたいデータです。
データベースさえあれば、画像等やプラグインの設定、サイトデザイン等は全部消えてしまいますが、ワードプレスのページや投稿の文字情報だけは復旧ことが可能です。逆に実ファイルしかない状態だとサイトの復旧は不可能となります。
1 バックアップをプラグインBackWPupを使用して取る方法
プラグインBackWPupは、おそらくワードプレスのバックアップ作成のために最も普及している信頼性の高いプラグインでしょう。BackWPupを利用すると、管理画面からデータベースとファイル群のバックアップを自動的に特定日時にとるような設定を行ったり、バックアップをDropBox(オンラインストレージです)にとるようにしたり、メールで送信するようにする等多彩なバックアップ設定が可能です。
1-1 プラグインBackWPupのインストールと有効化
それではBackWPupをインストールして設定を行っていきましょう。
管理画面>プラグイン>新規追加をクリックして、右上の「プラグイン検索」欄にBackWPupと入力して検索し、プラグインをインストールします。
インストール後は、ボタンが「有効にする」というボタンに変わりますので、そちらをクリックしてプラグインを有効にされてください。
1-2 データベースのバックアップ
BackWPupでデータベースをバックアップする方法を解説していきます。BackWPupはバックアップファイルを様々な場所に保存したり、メールで飛ばしてくれる機能などがあります。
記事とページが1000件に満たないサイト様では、データベースのサイズはそれほど大きくありませんので、定期的にバックアップデータをメールで飛ばすバックアップ設定を行われることがお勧めです。
データベースの容量が非常に大きい場合(例としてGmailの最大添付ファイル容量20Mを超過する場合)は、サーバー上(ご契約のサーバー会社のコンピュータ上です)にデータベースをバックアップされる方法がお勧めです。ただこの場合、サーバーそのもののデータがすべて飛んでしまう可能性もあるので定期的にこのバックアップデータをサーバー上からダウンロードする作業が必要となります。
1-2-1 データベースをサーバー上にバックアップする
BackWPupでデータベースのバックアップを取るには、管理画面>左メニュー>BackWPup>ジョブ をクリックしてジョブを追加していきます。ジョブとは、バックアップの条件設定の集合で、このジョブが定期的に実行されてワードプレスのバックアップが作成されます。
バックアップファイルは、サーバー上(FTPなどで接続して表示されるワードプレスのフォルダ)のwp-content/uploads/backwpup-XXXX というフォルダの中に最大15個まで作成されます。
ジョブ追加画面を表示されたら、新規追加ボタンを押されてください。
新規追加されたら、ジョブ設定画面でジョブの名前のところに任意の名前を入力します。ここでは「データベースのバックアップ」と入力しました。また、データベースだけをバックアップしたいため、「ファイルのバックアップ」、「インストール済みプラグイン一覧」のチェックは外します。
上記チェックしたままにしておけば同時にファイルのバックアップも行うことも可能ですが、容量が非常に重くなるため、ファイルとデータベースは別々にバックアップを取ることをお勧めいたします。
次に、設定画面下部の「フォルダーへバックアップ」をチェックします。この設定がサーバー上にバックアップを取る設定となります。
ページ最下部の「変更を保存」ボタンを押して設定を保存します。
バックアップする頻度(スケジュール)の設定の設定
次に上部のスケジュールタブを押して、ジョブの開始方法 を 「WordPress の cron」 にチェックします。
WordPress の cronとは、誰かがサイトにアクセスしてきたときに、特定の時間で自動実行される処理で、このバックアップのジョブを割り当てます。
ジョブを実行する時間を 毎日 > 3時 0分(深夜) に設定して保存ボタンを押します。
もしサイトの更新頻度が週に一回程度なら、毎週 > 日曜 > 3時 0分(深夜) という設定でも問題ございません。
バックアップするファイルを圧縮する
バックアップするデータベースのファイルを圧縮して、保存しておくことで容量を大きく下げることができます。DBバックアップタブより、GZip圧縮をチェックしておくことをお勧めいたします。
1-2-2 データベースのバックアップを定期的にメールで送信する
上記のバックアップファイルが例えば、サイトのページ数が1000に満たない場合は、データベースの容量はおそらく10MBに満たないかと思います。
※アクセス解析プラグインを導入されていて、そのログのエータベースの項目もバックアップされている場合はより容量が大きくなることもあります。
データベースが小さい場合、自動でバックアップをメールで送信する機能を利用すると、サーバー上とローカルにもバックアップが保存されるのでより安心です。メールでバックアップを送信するには、ジョブの「一般」タブの「バックアップファイルの保存方法」の項目で、〇メールでバックアップを送信 にもチェックをつけて設定保存されてください。
1-2-3 プラグインの一覧のバックアップ
BackWPupには、現在利用しているプラグインの一覧をテキストファイルにしてバックアップしてくれる機能もあります。データベースとワードプレス本体の全データをバックアップしていると特に必要はありませんが、後から過去に使っていたプラグインを調べたいときや再現したいときには便利です。
必要であれば、ジョブの一般タブより、「インストール済みプラグイン一覧」にチェックをつけて、プラグインタブよりバックアップの圧縮等の設定を行われてください。
1-2 ワードプレスの本体のバックアップ
プラグインBackWPupを利用してワードプレス本体のファイル群のバックアップを取るジョブを作成していきましょう。ワードプレス本体のファイル群で最も重要なデータは、投稿や、固定ページに管理画面からアップロードした画像ファイルなどです。
これらは、データベースに含まれていないため、こちらもバックアップを取っていないとワードプレスサイトを後程復旧させることは難しくなります。
1-2-1 本体データをサーバー上にバックアップする
BackWPup > ジョブ > 新規追加 ボタンを押して新しいバックアップジョブの作成画面を表示し、このジョブ名のところに「ファイルのバックアップ」と入力します。
また、このジョブは本体ファイルのバックアップですので「ファイルのバックアップ」のみにチェックをつけます。
ジョブの転送先に、フォールダーにバックアップのチェックをつけるとサーバー内のuploadフォルダにバックアップファイルが保存されますのでチェックしておきます。
※ファイルのバックアップをメール送信するのは容量が極めて大きくなるため、おそらくすぐにメールボックスの容量を超過してしまうためお勧めいたしません。
次にスケジュールタブを押して、バックアップのタイミングを設定します。WordpressのCronにチェックをつけましょう。
スケジューラーは毎週日曜日の3時AMとします。この頻度は、サイトの更新頻度と合わせて調整する必要があります。1日に一回の更新ならば1週間に一回の頻度でバックアップを取っており、万が一データがなくなってしまった場合は最悪1週間分の投稿に含まれる画像ファイル等が消えてしまうということになります。
サーバーの容量や、CPUリソースに余裕がある場合は、もっと短い間隔でも構いません(バックアップジョブ中はサーバーのCPUがフル稼働するのでサイトが重くなることがあります)。
1-2-2 バックアップするファイルを必要最小限なファイルにのみ制限する
ワードプレスのファイルは、共通部分も多いので、必要最小限のファイルのみにバックアップを最適化していきましょう。ジョブの「ファイル」タブを選択するとバックアップするファイルを選ぶことができるようになります。
<私たちがお勧めする設定>
- WordPress をインストールしたフォルダーをバックアップ ➡ チェックしない
- コンテンツフォルダーをバックアップ ➡ チェックする 除外 languages、 logs、 upgradeにチェックする
- プラグインのバックアップ ➡ チェックする
- テーマのバックアップ ➡ テーマがオリジナルテーマまたは何らかの修正を加えている場合はチェックする
- uploads フォルダーをバックアップ ➡ 必ずチェックする (Cacheとフォルダ名についているものはプラグインが作るキャッシュファイルの為チェックする必要はありません。またBackWPUP関連のフォルダも不要です)
- 特殊ファイルを含める ➡ チェックする
1-2-3 バックアップをDROPBOX(オンラインストレージ)に自動でアップロードする
BackWPup には、このファイルのバックアップを、オンラインのストレージであるDropBoxに自動で転送してくれる機能があります。この機能を利用するには、Dropbox(無料で2Gbまでの容量を利用できます)にユーザー登録を終わらせておく必要があります。
Dropboxに登録したら、ジョブの一般タブから、ジョブの転送先にDropboxにバックアップをチェックします。
次に上部タブ、宛先DropBoxを押してDropboxにログインにしたうえで、Dropboxのアプリ認証コードを取得ボタンを押します。(その下のボタンを押す必要はございません)
Dropboxの連携画面が表示されますので許可します。
次の画面で中央部に出るコードをコピーします。
最後にコピーしたコードをDropboxのアプリ認証コードの部分にペーストして設定を保存されてください。
1-3 バックアップが正しくとれているか確認するには?
最後にバックアップが正しくとれるか、ジョブの自動実行の前に一回手動でとってみましょう。管理画面左前ニュー>BackWPUp > ジョブ をクリックすると登録されているジョブ一覧が表示されますので、「今すぐ実行」ボタンを押してみましょう。
インジケータが表示され、バックアップが100%になって終了すれば成功です。
もしバックアップに数時間かかったり、途中で止まってしまう場合には、1-2-2の最適なバックアップを作成の項を確認してバックアップする内容を少なくされるなどの対処方法をお試しください。
特にキャッシュ系のプラグインが生成するフォルダに大量のキャッシュファイルが含まれていて、バックアップが進まなくなる場合があります。そのようなときはこのフォルダのバックアップは不必要なので除外されてください。
1-4 バックアップデータのダウンロード
バックアップファイルは、サーバー上に生成されていますので、もしサーバー上のファイルがバックアップもろとも消失しまったら復旧ができなくなりますので、バックアップファイルをFTPソフトなどでダウンロードしてローカルに保持しておくことが必要になるかと思います。
FileZilla等のFTPソフトウェアでサーバー上のファイルにアクセスして定期的に最新のバックアップファイルをダウンロードされて、ローカルにも保持されることをお勧めいたします。
下記の画像はバックアップファイルが含まれている場所です。
FTPソフトの使い方参考サイト
超初心者向け!FileZilla(ファイルジラ)の使い方
1-4 バックアップの実施のタイミングについて 最適な期間は?
ワードプレスで最も重要なデータは、データベースです。サイトの更新頻度によってデータベースは最も頻繁にバックアップを作成する必要のあるデータかと存じます。最悪ファイルが失われていてもデータベースのバックアップさえあれば、サイトの文字情報やカテゴリー、タグはすべて復旧可能です。
<データベースのバックアップ頻度の目安>
一日1回以上の更新頻度 ➡ 1日一回 以上
1週間に一回以上の更新頻度 ➡ 1週間に一度 以上
次にワードプレスの実ファイルですが、こちらも投稿の画像などが含まれていて同じように重要ですが、ファイル数が大きかったり、容量が非常に大きくなるためバックアップに時間がかかったり、サーバーの容量を大きく使ってしまったり、ジョブの実行中にサイトが重くなってしまうなどの問題があります。ゆえに、データベースのバックアップより現実的には頻度を下げてバックアップを取ることも考えなければいけません。
<実ファイルのバックアップ頻度の目安>
一日1回以上の更新頻度 ➡ 1週間に1回 以上
1週間に一回以上の更新頻度 ➡ 1か月に一度 以上
バックアップを実行するタイミングはサイトにアクセスが最も少ないと思われる時間。例えば日曜日の深夜などが最適です。
1-5 プラグインBackWPup ~ トラブルシューティング
1-5-1 バックアップの自動送信メールが届かない
●バックアップするファイルが重すぎて送信エラーになっている可能性があります。BACKWPUPのジョブ編集画面のDBバックアップタブより、プラグインが作っている不要なアクセス解析結果などのデータベースのチェックを外してみてください。(どのデータベースをそのプラグインが使用しているかは名称で幾分かは推定可能です)
1-5-2 バックアップが完了しない
●ファイルのバックアップ数が多すぎることが考えられます。1-2-2の最適なファイルだけをバックアップで選ばれているか確認されてください。
また、もし最適なファイルだけを選ばれても遅すぎる場合は、ジョブをさらに一つ作成し、wp-content/upload ファイル内の2017等の年毎のフォルダを別々のジョブを作成してバックアップを作成します。このジョブは、日曜の深夜3時ではなく、3時間ほどずらして6時とするなど各ジョブの実行時間が同じにならないようにされてみてください。
※ジョブのフォルダタブで、バックアップするファイルを可能であれば除外するなどの方法をとります
1-5-3 バックアップがDROPBOXにアップロードされない
●DropBoxの容量がいっぱいになっていないか確認します。いっぱいになっている場合はファイルを削除の上バックアップの取得数を下げてDropboxがすぐに容量不足にならないようにされてください。
1-5-4 バックアップの自動実行時間がずれる、もしくは自動実行がされないことがある
ワードプレスの自動実行タスクは、サイトにアクセスがあったときにトリガーとして実行されるため、時間がずれることがあります。ワードプレスの自動実行を使用せずにサーバーの自動実行タスクをワードプレスに適応する方法もあります。
参考サイト
http://web.mt-systems.jp/archives/985
※ バックアップファイルの保持(保存)方法について
プラグインでサーバーにバックアップファイルを生成するように設定した場合、サーバーそのもののデータがすべて飛んでしまったときバックアップデータも一緒になくなってしまうことに留意しなければいけません。
(この記事でご説明しているメールでバックアップを転送されたり、Dropbox上に保存していればこのような場合も安全性は向上いたします。)
このため、サーバー上に生成されたバックアップファイルを一定期間ごとにFTPソフトウェアなどでローカルコンピュター上にダウンロードされて保管されたり、別のハードディスクなどにさらにコピーして保存されておくなどの対策をお勧めいたします。
2 バックアップをデータベースソフト(Adminer)とFTPソフト(FileZilla)でプラグインを使わず手動でとる方法
バックアッププラグインを利用せずに、手動でワードプレスのバックアップも行うことが可能です。この場合、より確実にバックアップが取れますので安心ですね。
方法は、単純でそれほど難しいものではございませんが、毎回手作業での作業を伴うため多少面倒な点が短所です。
FTPソフトでワードプレスの実ファイル全体のバックアップを取る
ワードプレスのデータは、実ファイル部(プログラムファイルや投稿に追加された画像データ、プラグインのプログラムなど)と、データベース(投稿の文字情報や設定が含まれます)に分かれています。どちらもワードプレスの復元には必要です。
ここではFTPソフトFilezillaでワードプレスの実ファイルのバックアップを取る方法を解説します。
※Filezillaの使い方は下記のサイトを参照されてください
超初心者向け!FileZilla(ファイルジラ)の使い方
FileZillaでワードプレスのフォルダにアクセスすると下記のようなファイル群が表示されたかと思います(WPなどの名称のサブフォルダの場合もございます)。このフォルダの下記のファイルとフォルダ以外はすべてのワードプレスサイトで一般的に共通の為バックアップを取る必要は実はないのです。
●wp-config.php
●.htaccess
●wp-contentフォルダ
ただ、このファイル以外にもファビコンやオリジナルなPHPファイル、Googleの認証ファイルなどが含まれていることもありますのでこちらはバックアップをお取りすることをお勧めいたします。
wp-contentフォルダの中身のバックアップ
次にwp-contentの中身を中身を見ていきましょう。
このフォルダの中身もプラグインなどが生成したりして多数のフォルダが含まれている場合がございますが、重要なデータが含まれるフォルダは下記の3つだけです。
●uploads ➡ 投稿などに含まれる画像ファイルがアップロードされています
※このフォルダ内にプラグインによるキャッシュが含まれている場合があります。このキャッシュはバックアップされる必要がありません。
●themes ➡ ご使用中のテーマ(非使用中のテーマファイルも含みます)ファイルが含まれています
●plugins ➡ インストールされたプラグインファイルがすべて含まれます
ただ、稀にプラグインによってはこのフォルダに動作に不可欠なファイルを書き出すものもありますため、心配な場合はwp-contentフォルダはすべてバックアップされた方が安全です。
バックアップに時間がかかりすぎる場合は?
プラグインが生成されているキャッシュ(サイトを高速表示するための実行結果だけのファイル)が数万規模でサーバーに残っていることがございます。このファイルのダウンロードに非常に時間がとられていることがあります。
このキャッシュファイルは、サイトを高速表示するためだけのものの為、サイトの復旧には不要ですのでバックアップを取る必要がありません。
wp-contentフォルダやwp-content/uploadsフォルダにCacheなどの名前やキャッシュ系」プラグイン名で作られているフォルダはバックアップから外されてください。
データベースのバックアップをAdminerで取得する
次にデータベースのバックアップをデータベースにアクセスするソフトウェアAdminerを使ってとる方法を解説いたします。
Adminerについての参考記事
シンプルで軽いphpMyadminの代替 データベース管理プログラム「Adminer」を使おう
Adminerをこちらからダウンロードし、ダウンロードされたファイルをpma.phpというファイル名にリネームされてください。
FTPソフトウェアで先ほどのpma.phpをワードプレスのインストールフォルダ(ドメインの直下のフォルダ)にアップロードして、ブラウザから下記のURLにアクセスします。
http://あなたのサイトのドメイン/pma.php
このログイン画面に、ワードプレスのデータベース設定が記載されているwp-config.phpに記載されている下記の内容を入力してLoginボタンを押されてください。
/** MySQL データベースのユーザー名 */ define('DB_USER', 'username'); /** MySQL データベースのパスワード */ define('DB_PASSWORD', 'password'); /** MySQL のホスト名 */ define('DB_HOST', 'hostname');
hostname ➡ Server
username ➡ Username
password ➡ Password
ログインしたら、ワードプレスのデータベースをプルダウンより選択します。
次に、Exportリンクをクリックし、OutputでSaveをチェックしたら下にある[Export]ボタンを押せばデータベース全体をエクスポートしてバックアップする事が可能です。
その下に、データベースのテーブルの一覧が表示されていますが、ここでチャックボックスを外したり、つけたりすると特定のテーブルだけエクスポートする事も出来ます。
バックアップ取得後は、pma.phpをセキュリティー上の理由から削除されることをお勧めいたします。