ブログを運営している人で、wordpressを使っている人はかなり多いと思いますが、万が一に備えてブログのバックアップを行っていますか?今回は、自分のブログで発生したバックアップのトラブルと対応についてお話します。
今回のトラブル対応で分かったことは、ブログの記事数によって違うと言う事と、何回も記事の断捨離をしたりしていると、データベース自体のクリーンアップも必要と言う事で単純にバックアップしても上手くいかないと言う事です。
私の場合は、評判が良いPluginのBackWPupではエラーが消えず使えませんでしたが、代わりにUPdraftPlusと言うPluginでは非常に上手くいきました。
自分の場合は、BackWPupよりUPdraftPlusで問題が解決できた。評判が良いPluginが必ずしも良いわけではなく、自分の環境に合わせて使い分ける必要があると言う事です。
始まりはバックアップのエラーから
実はwordpressのバックアップについて、あまり真剣に考えたことは最近までは無かった。
なぜなら、爆発的なPVを稼ぎだし報酬成果も出しているわけではなかったので、気にしていなかったと言うのが正しい答えだと思う。
しかし、あまり人気が無いブログでもある程度の記事が蓄積されてくることで、愛着が湧いてきました。そんなとき、このブログデータが飛んでしまったら悲しいよなって、ふと思ったんですよ。
そうならないためにも、バックアップをするしかない!そう思い、バックアップで人気のPluginであるBackWPupと言うものを導入しバックアップの運用を始めたんです。
このBackWPupは、殆どがデフォルトの設定のままで使用を開始したのですが、唯一変更したのは週1回のバックアップという設定のみでした。
ある程度時間が経ちなんとなくバックアップはされているように見えたので、バックアップのログを確認してみました。
そして、事件はその時に起こったのでした。
確認したログの最後の方を見ると、なんとエラーが続出でエラーを解決する必要があると言う表示まで出ています。

警告とエラーを合わせて、かなりの量が発生しております。しかも、その殆どがジョブが5分以上無動作により再起動しますなんです。
そして挙げ句の果てに、ステップを中止:回数が多すぎます!
どうやら、ファイルやテーブルを圧縮するに時間が掛かり、無動作状態が続いているように見えるようですね。
そして最後はエラーで終了しましたで終わっていますので、満足にバックアップが行われておらず、このまま復元しても元通りにはならないと言う事を物語っております。
はっきり言って、バックアップの意味をなしておりません。
状況を分析して、対処しなければ行けませんね。
バックアップエラーを考えられる対処方法を実践
まずはネットで調べて見ると、BackWPupでエラーが出ることは特別ではないようで、対策のような記事が幾つか見つかりました。
その中で、関係しそうな部分として圧縮ファイルの種類をZipからGzipに変更すると圧縮率が上がり圧縮時間が短くなるとのこと。
確かに、自分はGzipでは有りませんでした。クリック一つで対処できるので、即実行変更してみましたが、全く改善されません。5分以上無動作は無くならないです。
次は最大スクリプト時間を標準の30秒から60秒に変更し、サーバーの不可を軽減を無効から中に変更。
この時点で手動でバックアップを実施し、改善されているかを確認しましたが、全く効果無しで無情にも5分以上無動作は消えませんでした。
ここまで、考えられるBackWPupでの対応策は以下の3つ
- 圧縮方法をZip → Gzip
- 最大スクリプト時間 30秒 → 60秒
- サーバー負荷の軽減 無効 → 中
全て5分以上無動作には効果無し
どうしたらよいのでしょうか?行き詰まってしまったので、wordpress全体として考えてみました。
バックアップトラブルは画像やデータベーステーブルにも問題ありかも?
エラーログを見ていく中で、画像ファイルの部分で時間が掛かっている事が分かりました。
圧縮に時間が掛かると言うポイントから、ピン
と来ました。
まず、画像の圧縮系のPluginの設定で何か問題が有るのではないかと思ったんです。
自分は画像の圧縮にEWWWと言うPluginを使用しており、このEWWWについてネットで調べていくと、気になる事を見つけました。
サポートのタブの中に、デバッグという項目があるのですが、ここにレ点が付いているとPluginが動作するたびにデバッグとして動作履歴をファイルとして残しているようなのです。
理由としては、問題が発生したときに解決する手段を見つけるためや、Pluginの品質改善のためらしいのです。この部分が実は自分の場合レ点が付いていました。
デフォルトではないので、多分トラブル対策用として勝手に付けてしまったのでしょう。記憶からは全く抜け押していました。
このデバッグにレ点が付いていたため、最初からの動作履歴がかなり多く残っており、これが圧縮をする際に影響していたようです。自分の場合何百MBも有りました。
このレ点を外すだけでデバッグモードから抜け出るためデータは削除されるようです。

これで画像圧縮系に関わる部分は改善されたはずなので、もう一度’手動でバックアップを確認……
結果は変わらずでした。orzどうしたら良いのでしょうか?
次に考えたのは、記事の断捨離やカテゴリーの削除を結構実施して、クズ記事を沢山削除をしてきております。
その数は数百記事に及び、現状では全盛期の半分にまで記事を削除してきているのです。
つまり、次に考えたのはデータベースのテーブルにクズが残っており、これが悪さをしているのでは無いかと考えました。
データベースをクリーンアップするにはどうしたら良いのでしょうか?
再びネットで調べていくと2つ見つかりました。
まず1つはWP-Optimaizeです。この機能の中にデータベースの最適化という機能が含まれているのです。
WP-Optimaizeのインストール法法と設定は、ネットに沢山参考文献が有りますのでここでは割愛します。
この中には、データベース、画像、キャッシュ等の最適化を行うための項目があります。今回はその中でデータベースを選択します。
データベースを選択すると、下記画像の表示が見られます。

基本的には初期値で問題は無いので、このまま最適化を実施します。本来であれば、最適化でおかしくなったときに戻すように、バックアップを取ってから実施するのですが、今回はそのバックアップがエラーしているので、思い切って実行してみました。
結果は、特に問題無くデータベースの最適化が完了しました。
この最適化を実施すると、テーブルの最適化と不要データを削除してくれるようなので、過去記事を断捨離した場合、ゴミが残っていれば綺麗にしてくれるはずです。
この最適化後にもう一度手動でバックアップを実施してみましたが、これでも状態は変わりませんでした。かなり根が深い感じですね。
次に思いついたのが、そもそも不要なテーブルやそのテーブル内にデータが残っているから、それが問題なのでは無いかと考えました。
次に試してみたのはPlugins Garbage Collectorです。これは、削除したPluginが作り残ってしまったテーブルなどを、データベースをスキャンして、そのようなゴミテーブルが存在しないかどうかをチェックしてくれるPluginです。
これで、テーブルの最適化ではなく、不要なテーブルを削除してしまおうと言うのが目的です。
Plugins Garbage Collector自体はPluginのインストールを行い、有効化すれば終わりです。有効化後、スキャンをクリックすれば、データベースをスキャンするためのメニュー表示になります。

隠しテーブルを表示するをチェックし、後はデータベースのスキャンというボタンを押せば、勝手にスキャンして不要なモノを見つけてくれます。

こんな感じでテーブルが常時され、赤字担っている部分が不要と思われるテーブルです。
今回は不要と思われるものは1つだけです。しかも、今もインストールしたままの状態になっておりましたので、これを機会に不要と言う事でPlugin毎削除しました。
ここまで実施しても、結局バックアップ時の5分以上無動作は消えませんでした。完全に行き詰まりましたね。
ここで実行したことは3つ
- EWWWのデバックチェックを外した
- WP-Optimaizeでデータベースの最適化を実施
- Plugins Garbage Collectorをインストールし不要テーブルを削除
画像系、データベース自体の最適化を実施しても全て5分以上無動作には効果無し
バックアップの選択肢は1つではない
ネットで見つかった対策方法や、自分なりに考えた方法も含めて対策を実施してみましたが、全て5分以上無動作のトラブルには全く効果が有りませんでした。
完璧に行き詰まってしまいましたが、何回かWP-Optimaizeで操作をしているときに、UPdraftPlusというPluginが目にとまりました。
実はこのUPdraftPlusというのは、WP-Optimaizeが推奨するBackupのPluginなんです。自分的には、バックアップのPluginは世間一般で性能や操作性を含め評判が良いBackWPupしかないと勝手に決めつけていました。
しかし、WP-OptimaizeではBackWPupではなくUPdraftPlusを推奨しているのです。
なるほど、BackWPupに固執してエラーが解決しないで困っているよりも、他を使ってみる価値は有るよなと思ったのです。
物は試しで、UPdraftPlusの無料版をインストールしてバックアップに問題が発生しないかを確認してみることにしました。
まず普通にPluginの新規追加でUPdraftPlusをインストールし有効化します。wordpressの設定からUPdraftPlus バックアップを選択すると5個のタブが有る管理画面が立ち上がります。

この画面が出たら、右にある今すぐバックアップをクリックします。すると新規バックアップというウインドウが出ますので、そのウインドウの下部にある今すぐバックアップをクリックします。
すると、バックアップが始まります。このUPdraftPlusの場合、画面上に進行状況が出ますので、何処で問題が発生したかリアルタイムで見ることができます。
実行ステータスを観察していても、BackWPupで発生したような5分以上無動作は発生せずに、無事バックアップが完了しました。
はっきり言って目が点になりました。なんで問題も無くスムーズに処理できるの?でもこれが真実です。
UPdraftPlusを使用すれば問題無くバックアップができることが分かりましたので、詳細の設定をしておきます。
無料版では設定できる項目は限られていますが、最低限の設定だけしておきましょう。
設定タブに切替、ファイルトデータベースのスケジュールを設定します。

無料版の場合には高度な設定はできませんので、ファイルのバックアップスケジュールとデータベースのバックアップスケジュールを決めます。
私は以下のように決定しました。
- ファイルは画像、テーマ、プラグイン等で容量が大きい為、バックアップは週単位とし、保管する数も2世代までとしました。
- データベースのテーブルは記事やカテゴリ等で容量が小さいのでバックアップ単位は日単位とし、保管する数も第10世代まで残すことにしました。
次に、バックアップを保管する場所ですが、以下の場所にバックアップを取ることができます。

初期値では、サーバー内にバックアップするのですが、万が一サーバーに不具合が有ったときには、バックアップもダメになってしまいますので、別の場所にバックアップを取ることにしました。
世間的にはDropboxがオススメらしいのですが、無料で使用する保存容量が少ないので、私はGoogle Driveを選択しました。Google Driveならアカウントで使用できる容量が15GB有りますので、こちらの方が長期間の使用を考えると安心ですね。

標準以外を選択すると、各々のサービスに対してアクセス許可を求める画面が出ますので、指示に従ってUPdraftPlusからのアクセスを許可させます。
設定ができたら、本当にGoogle Driveにバックアップできるか試行してみます。
今すぐバックアップをクリックすると以下のウインドウが出ます。

ここで上から3つめがGoogle Driveへバックアップを保存するための項目でリモートストレージに送信と書かれているのが確認できます。
実際にバックアップ動作が完了すると以下のように結果が表示されます。

無事各種データがGoogle Driveに保存できた事が分かります。
これで散々悩んでいたBackWPupでのエラーから解放され、wordpressのバックアップも問題無く保存できるようになりました。
一件落着です。
バックアップPluginの比較
それでは実際に両方使ってみましたので、各々のバックアップPluginについて比較してみたいと思います。
UPdraftPlus | BackWPup | |
圧縮種類の選択 | できない | 選択可能 |
バックアップ時間指定 | できない | できる |
バックアップ自動削除 | できる | できない |
バックアップ処理時間 | 速い | 対象容量による |
バックアップ先 | 多い | 少ない |
設定操作 | シンプル | 複雑 |
以上のことから分かるように、細かな設定はBackWPupの方ができ、何よりバックアップスケジュールを自分で細かく時間まで設定できる。
しかし、ネットを見て分かるようにBackWPupの方がトラブルが多い。特に私がハマった5分以上無動作は割と頻繁にでやすいような感じがする。
あくまでもこれは私の環境下で発生したトラブルがベースで有るため、どちらを使った方が良いかは使用環境に影響されると思われます。
事実、私のブログでも最近初めて数ヶ月のモノに対しては、何の問題も無くBackWPupが使用できておりますので、使用環境やブログの記事数、画像容量により変わると思います。
従って、一概にどちらが優れているとかは言えないですね。
wordpressをバックアップするには まとめ
今回は、自分のブログで発生したバックアップに対するトラブルの対処内容を紹介しました。
対処を進めていく上で、自分なりにまとめた内容が以下の通りです。
- wordpressをバックアップする場合、できる限り早い時期の方がトラブルが少ない
- バックアップ以外にも画像データの圧縮、不要データの削除は定期的に行う
- データベースの最適化、Pluginの削除によるテーブルの削除は定期的に行う
- 記事の書き始めからバックアップをする場合にはBackWPupがオススメ
- 記事の断捨離をした後等、途中からバックアップをする場合はUPdraftPlusがオススメ
- どちらのPluginも使用する環境で変わる為、優劣はない
