先日、手違いからMixHostで運営しているWordPressにログインできない状態に陥ってしまいました。ちなみにこのブログではなく別のブログです。
その際MixHstoの自動バックアップからWordPressを復元して事なきをえました。
その時の復元手順をメモがてら記事にしておきます。
詳しい症状
それはそのブログで利用させていただいているWordPressテーマのCocoonバージョンアップ作業中に発生しました。
通常Cocoonのバージョンアップはファイル配布後しばらくすると自動アップデートがOnにされるので手動でバージョンアップする必要はないのですが、そのときは新しく追加された機能を試したくて手動でバージョンアップしました。
といっても、新しいバージョンのZipファイルをダウンロードし、解凍してからFTPで古いファイルに上書きするだけなので簡単で、まともにやればおかしなことも起こりません。
そのはずなんですが、FTPでバーっと上書きしていってふと気づくと
- 真っ白ではないがブログには何らかの問題が発生している旨のメッセージが表示されて閲覧できない
- ログインページも同様でログインできない
となっていました。
このような状態になると最近のWordPressは「[〇〇(サイト名)] サイトで技術的な問題が発生しています」と言うタイトルでメールを送ってきてくれるんですが、この時はメールは送られてきませんでした。
このメールが送られてくればリカバリーモードでログインできたりと打つ手もあるのですが、サイトは存在しているけど記事は表示されていないしログインもできないしでかなり焦りました。
一応いっておくと、この段階ではわかりませんでしたがもちろんCocoonに問題があったわけではありませんでした。
Cocoonは無料なのに高機能なので当ブログでも利用させていただいています。Cocoon配布サイトは

MixHostの自動バックアップから回復することに
結果的には自体を悪化させてしまいましたが、自動バックアップから復元する前にしたことをメモしておきます。
最初にしてみたこと
このような状態になってしまったときの選択肢はいくつかあって
- 直前にしていた作業を見直して修正する
- お金を払って専門家に任せる
- バックアップから復活させる
他にもあるかもしれませんがこんなもんですよね。
特に今回の場合はテーマのアップデート作業でなにかやらかしたというのはわかっていましたから、ここを見直すというのが簡単そうに思えました。
そこでまずはCocoonのバージョンを元に戻す(再度の上書きですね)ことにしてみました。
しかし、起こったことはブログの見た目が少し変わっただけで、記事は表示されていないしログインもできませんでした。
おかしくなってからのバックアップを取っておいてよかった
テーマのバージョンを戻せばやった事がなかったことになるんだから戻るだろうと淡い期待を抱いていましたが、何も解決せず途方に暮れてしまいました。
そこでテーマのバージョンを戻す前の状態の「wp-content」フォルダ内をすべて保存していたので、それを使って一旦元に戻しました。
今考えると不具合のある現在の状態のバックアップも残しておくというのも重要だった気がします。さらに分けのわからない状態になってしまうこともあり得たわけですから。
Mixhostのバックアップから復元するしかない
この段階ではもう面倒くさくなっていたのと収益が結構上がっているブログなので取り返しがつかないことになるのも困るので、業者に頼んでやってもらおうかとも頭によぎっていました。
しかし、業者に頼むと当然費用もかかるし、頼んでも何日かかかるだろうしその間の機会損失も結構な額になるので思いとどまりました。
さらにおかしなことになってしまって業者に頼むにしてもMixHostでは14日分のバックアップが自動的に取られているからそれがあれば、さらにおかしなことになっても大丈夫ですしね。
それなら自分でバックアップからの復元を試してからでも良いはずです。
MixHostでのバックアップからの復元手順
前置きが長くなりましたが、ここからが復元手順になります。
以前のMixHostなら
私が利用し始めたころのMixHostでは過去の状態を復元したい場合、保存されているバックアップの日付をみて戻したい日付を選ぶだけで、あとは自動でバックアップからの復元ができました。
しかし
2018/12/12より、自動バックアップからファイルを復元する機能の提供を終了させていただきました。ファイルを復元する際には一度バックアップファイルをお手元にダウンロードして頂き、ご自身でファイルマネージャーやFTPソフトなどからアップロードをしていただく必要がございます。
mixhostのヘルプページより引用
とあるとおり、この便利な機能が何故か提供終了になっています。
一度しか使ったことはありませんが簡単で便利なこの機能なぜ提供終了にしてしまったんでしょうね?
負荷とかの問題なんでしょうか?それともこの機能で復元できなかった時に責任が取れないとかの問題なんでしょうか?
いずれにしても、提供されていないのなら書いてあるとおり自分でやるしかありません。
復元するには
WordPressは画像やプラグインやPHPデータが入っているWordPressファイルと記事や情報が入っているデータベースファイルの2つで構成されています。
なので復元する必要がある部分は
- WordPressファイル
- データーベース
です。
ですが、私が今回遭遇しているような事態であればWordPressファイルを復元すれば大丈夫なはずです。
記事の内容や情報が消えてしまっているなどの場合はデータベースファイルの復元も必要になります。
WordPressファイルの復元手順は
- バックアップファイルのダウンロード
- 圧縮ファイルの解凍
- FTPを使ってアップロード
になります。
データーベースの復元手順は
- restoreするだけ
とWordPressファイルの復元と違い簡単です。
それではまずはWordPressファイルの復元手順、次にデータベースの復元手順の順で解説します。
WordPressファイルの復元手順
cPanelにログインしたら、JETBACKUPにあるFile Backupsを選択します。
するとJetBackupと言う画面になりバックアップされているファイルリストが表示されるので、復元したい日時(不具合が起きる前の日付ですね)を確認して[FILEMANAGER]をクリックします。
するとバックアップされているファイル一覧が下の画像のように表示されます。
この中から[Public_html]をクリックします。
するとドメインごとのファイル一覧が表示されるので復元したいドメインのチェックボックスにチェックを入れてから[Download Selected]をクリックします。
すると下のように[Add to Download Queue]と言うボタンが現れるのでこれをクリックして作業キューに追加します。
するとダウンロードの準備が始まりるので完了を待ちます。
サイト規模にもよりますが少々時間がかかるので気長に待ちましょう。
右上の表示が
から
に変わったら準備完了で、ファイル名をクリックするとダウンロードが始まります。
※保存される場所はPCの設定によって異なります。
ファイルの解凍
ダウンロードされたファイルは圧縮されているので解凍してください。ファイルは.gzと.tarの二重に圧縮されているので解凍作業は2回必要になります。
解凍ソフトは.tarと.gzをサポートしていれば何でも良いはずですが、なぜか私のときはLhaplus(ver.1.74)ではエラーが出てうまく解凍できませんでした。
そこで7-Zipを試したところ問題なく解凍できました。
理由はわからないので恐縮ですがエラーが出て解答できない場合は解凍ソフトを変えてみるとうまくいくかもしれません。
FTPソフトでアップロード
あとは解凍してできたフォルダをFTPを使ってアップロード(上書き)していくだけです。
mixhost上の[public_html]に上書きアップロードするだけですが、場所を間違わないようにくれぐれも注意してください。
FTPソフトはFileZilaがドラッグアンドドロップするだけで簡単なのでおすすめです。
サーバ上の間違ったファイルをいじるととんでもないことにもなりかねない(少し下にも書きましたが私の場合がまさにこれでした)ので、作業中は細心の注意を払った上で自己責任のもと行うようにしてください。
何が起こっても私は責任を取れないということを宣言しておきます。
おかしくなった原因が判明
話は少しそれますが、フォルダをアップロードする際におかしくなった原因が判明しました。
原因がわからないのは気持ち悪いのでアップロードする前にバックアップファイルの[public_html]とサーバー上の[public_html]を比較してみたところ…
当該ドメインの[wp-admin]フォルダがごっそりと消えているのがわかりました。
どこに消えたのかと探してみると[wp-content]フォルダ内にありました。
恐らく気づかないうちにドラッグして[wp-content]に移動させてしまったようです。
これではログインできなくなくなるのも当たり前ですよね。
ここまでわかればバックアップを使わずに[wp-admin]をもとに戻すだけでいいのですが、他にもおかしな事になっているところがあると困るので一応(移動されていたフォルダを削除してから)すべて上書きしました。
これで事なきを得たわけですが、テーマのバージョンアップのような簡単な作業でもサーバー内のファイルを弄るときは最新の注意を払わないといけないという教訓を得ました。
データベースの復元の手順
今回は必要ありませんでしたが続いて、データベースの復元の手順も解説しておきます。
JETBACKUPにある[Database Backups]をクリックします。
するとデーターベースの一覧が表示されます。
※[Database_Name]をクリックするとドメインごとのデーターベースに並び替わるので見やすくなります。
そのなかから当該のデータベース名と復元したい日付を確認してから[RESTORE]をクリックします。
※当該ブログのデータベース名がわからないときは[SOFTACULOUS APPS INSTALLER]
→[スクリプト:WordPress]などから調べられます。
すると下のような確認がでます。
これで間違いなければチェックを入れて[Add to Restore Queue]をクリックするとリストア作業が開始されます。これにも少々時間がかかるので気長にお待ち下さい。進捗状況は[Queue]から確認できます。
※リストアするとバックアップ日時以降に書いた記事や変更した部分は当然無かったことになるので十分に理解してから自己責任で行うようにしてください!!
コメント