「3.0.1」にバージョンアップしてみたら…
データベースだけでなく、テンプレートファイルなどもまとめてバックアップ出来るWordPressプラグイン「BackWPup」。先日バージョンが「3.0.1」にアップしました。
バージョンアップを実行し、「3.0.1」にしてから確認したところ、あれ? と不思議に思った点が2つありました。
1. 「backwpup-functions.php」がどこにもない
「BackWPup」では処理が10分経過しても終わらない時にエラーとなり、そのエラーが複数回続くとバックアップ失敗になってました。「10分(=600秒)」という数値はプラグイン内で指定されており、数値を大きな値に変更することで処理失敗を回避するカスタマイズ方法がありました。
【参考】BackWPupのDropbox保存エラー、解決策が判明しました
上記の参考記事にある通り、「backwpup-functions.php」というファイル内にある「600(秒)」という数値を大きくするカスタマイズ方法。
今回「3.0.1」にバージョンアップしたことで、再びカスタマイズしないとエラーになるなと思い、「backwpup-functions.php」を探したのですが、どこにもない。念のため各ファイルのソースで「600」という数値がないかを検索したけれど、それもない。
600秒(=10分)の時間制限がなくなったということか?
2. 設定画面に「データベース保存」がない
「3.0.1」に上がったことで、設定画面が大幅に変わりました。
どこがどう変わったのか細かくチェックしてなかったのですが、1つ気になったのは、処理対象の指定欄でこれまで通り「ファイル保存」や「データベース最適化」の項目はあるものの、「データベース保存」の項目がどこにもなかった。
あれ? 最も肝心なデータベースの保存が指定できなくなった? それともデータベース保存は必須ってことになり、敢えて指定させないようにしたのか?
何かが引っ掛かりつつ、「しばらく様子を見よう」という結論に至り、しばらく使ってました。エラーが発生したらメールを送信する設定にしてましたが、バージョンアップ以降にメールは1つも飛んでこなかったので、何事もないのかと思ってたのです。
Dropboxに保存できていなかった
本日、別のカスタマイズ作業をしている過程で「そういえば、バックアップどうなったんだろ」とBackWPupのことを思い出し、ログ(=処理結果)をチェックしてみました。
エラーは発生してなかったものの、何かおかしい。よく見ると、保存先がDropboxになっていない。
当ブログでは3つのバックアップ処理を設定していて、
2. 保存先がDropbox
3. 保存はせずデータベースの最適化のみ
という分散バックアップ方式にしてました。上記でいう2番の処理が、エラーにはなってないのに、バージョンアップして以降の保存ファイルがDropboxに1つもない。
じゃあ1番の「保存先がサーバ」はどうなってんだろう。
↑最大3つまでしか保存しない設定なのに、いーっぱいファイルがある。この時点でおかしい。
↑拡張子は「.zip」という設定なのに、その後ろに何やら不思議な文字列。これは何だ?
↑ファイル名の先頭が「backwpup_3_」は、Dropboxに保存する設定のバックアップファイルなんです。つまり2番の処理でDropboxに保存されるべきファイルが、サーバに保存されている。なんじゃこりゃ。
「3.0.3」にバージョンアップしてみたが…
何がおかしいのか調べてる過程で、BackWPup「3.0.3」のバージョンアップ通知が来ていました。後で分かったのですが、私の知らないうちに「3.0.2」も来てたようです。
「3.0.3」に上げたら正常になるかな? と思いつつ、バージョンアップ実行。
↑バージョンアップ完了直後に表示された画面を見ると、「DropboxやSugarSyncは再認証する必要がある」と書かれていました。これが原因か!
↑設定画面で確認すると、確かにDropboxの認証が外れてしまってる。だからDropboxに保存できず、サーバ側に保存しちゃってたということなのか。
他にも「3.0.1」では見当たらなかった設定画面での「データベース保存」項目が「3.0.3」では復活していました。
これで解決した~と胸をなでおろしつつ、Dropboxの再認証も成功し、バックアップ処理を実行してみたのですが、それでもDropboxに保存できない。いろいろ設定を変えつつテストしてみましたが、自分の意図したバックアップ結果にはなりませんでした。
検索でいろいろ調べてみました
同様の現象について、どなたかが記事にしてないだろうかと検索してみたところ、いろいろ見つかりました。
↑上記記事では、「ファイルのバックアップは成功しているが、データベースのバックアップが作成されていない」と解説されています。やっぱり同じ現象です。
↑フォーラムにも興味深い内容がありました。まずBackWPupのPro版というのが登場しているのは、WordPressのプラグインページにあるリンク先でも表示されたため知ってましたが、もしかするとデータベースの保存機能はPro版にしかないのか?という疑問。
あとは、今回のバージョンアップにより、データベースの取得処理で「mysqli」を使うようになり、その「mysqli」がロリポップには実装されていないという話。
ってことは、ロリポップではないサーバのWordPressで、BackWPupを「3.0.X」にバージョンアップした後でも問題なく成功してるサイトやブログが存在するのかもしれないですよね。この点は興味あります。
フォーラムの最後では、質問された方が「旧バージョンに戻すか、別のプラグインを使用する」と書かれていました。私もひとまずは以前の「成功実績があるバージョン」に戻して当面は運用することに。
旧バージョンへの戻し方
↑公式サイトからBackWPupの旧バージョンをダウンロードできます。成功実績のある最も新しいバージョンは「2.1.17」です。
まず、プラグインBackWPupを停止
→ ダウンロードしたファイルを解凍後、
「/wp-content/plugins/backwpup」
にアップロード
→ プラグインを有効化
→ 「backwpup-functions.php」の処理時間をカスタマイズ
→ Dropboxなどのクラウドと再認証
→ バックアップの処理時刻や保存対象などを全て再設定
という作業の流れで以前の状態に戻るはずです。
処理時間のカスタマイズ方法や、分散バックアップに関しては以下の記事を参考にして頂ければ幸いです。
【参考】BackWPupのDropbox保存エラー、解決策が判明しました
【参考】バックアップ大事!BackWPupの設定は現在こんな感じで落ち着きました
まとめ
旧バージョンに戻すことが最善策かどうかは分かりません。別のプラグインに変えることも検討しましたが、ひとまずは旧バージョンに戻す方法にしました。
エラーが発生しないからといって安心していると、もしかすると今回私が書いたように、Dropboxなどのクラウドに保存できていない等の問題が発生していることも考えられます。
記事中で紹介した参考エントリーにもあった通り、レンタルサーバによって成否が異なる可能性もありますので、一概に「バージョンを3.0.Xに変えたらダメ!」とまでは断言できません。
いずれにせよBackWPupをご利用で最近バージョンアップされた方々は、処理結果ログをチェックしてみた方がいいと思います。
記事中で紹介した公式フォーラムにて、最新の状況が掲載されていました。
ロリポップが数日前にPHPのバージョンを「5.4」に対応しました。今回問題になってた「mysqli」も5.4では実装されているそうです。
BackWPupの最新バージョンは現時点で「3.0.4」なのですが、フォーラムの発言者さんが「ロリポップのPHP5.4」と「BackWPupの3.0.4」のセットでバックアップ処理を実行テストしたところ、保存成功したと報告されています。
ただ、PHPを5.4にアップすることで他のプラグインに悪影響が出ないか、なども発言者さんは懸念されてます。何でもかんでも安易にアップデートしちゃうのは、WordPressに関してはよろしくないな、ってのが私も最近痛感してるところ。
PHPとBackWPupのバージョンを共にアップグレードすれば、フォーラムにもあるようにバックアップ処理が成功するかもしれません。これは各利用者の自己判断でお願いいたします。
私もロリポップを利用してますが、やっぱり当面は旧バージョンの2.1.17で運用するつもりです。