
UpdraftPlus で WordPress 環境をバックアップ/復元する
Web サイトを運用していると、サーバーのトラブルとは切っても切り離せないものがあります。
先日、当 Web サイトがホスティングされているサーバーがハードウェア的に壊れたという障害が発生し、アクセス不能になりました。
数日が経過し、一応障害からは復旧したとの連絡がありましたが、サイトにアクセスすると「Wordpress の初期セットアップ画面」が表示される始末。FTP で入ってみるとファイルは正しく存在してるので何らかの設定が失われている模様。
サポートに問い合わせたところ、現状データベースとの整合がとれておらず、データベース的な復旧ができていない。復旧が可能な「整合が取れているデータベース」は 6 月時点のバックアップしかない、との事。
なんか、まともな企業のバックアップ体制とは思えませんが。。。
私は常日頃から UpdraftPlus WordPress Backup というプラグインでバックアップを取っていたので、今回はとても助かりました。この記事ではプラグインの設定方法から始まり、自動で定期的にバックアップを取る方法、そして復旧の方法までをご案内いたします。
WordPress の初期状態からでもひとまずこのプラグインさえインストールしてしまえば、バックアップ状態にまで復旧が可能です。
Updraft WordPress Backup プラグインのインストール
まずは UpdraftPlus WordPress Backup プラグインをインストールします。Wordpress の管理画面から、「プラグイン」ー「新規追加」ボタンを押します。

検索ボックスに updraftplus と入力してください。

するとプラグインが表示されるので、「今すぐインストール」ボタンを押して、プラグインをインストールします。

インストール後、「有効化」ボタンを押して、プラグインのインストールは完了です。有効化ボタンを押すと、自動的にプラグインの設定画面になりますので、このまま [Press here to start] ボタンを押してバックアップの設定を行います。

UpdraftPlus の設定
まず前提条件として、バックアップをどこに保存するか、という問題があり、この UpdraftPlus でも、Wordpress が動作している Web サーバーか、外部の保存場所かを選択することができます。
今回私が遭遇したように Web サーバーのストレージが故障する例もあるので、今回は外部の保存領域(リモートサーバー)にバックアップを保存する例をご案内します。
まず[設定]タブに移動してください。

UpdraftPlus では、Google Drive や OneDrive 、または FTP サーバーなど、デフォルトで 10 以上の保存先から保存場所を選択することができます。

今回は例として、Google Drive にバックアップを保存します。
上図リストより Google Drive のアイコンをクリックしてください。すると下の画面のような情報が表示されます。

ここにも書かれているように、まずはこの状態で画面下の「変更を保存」ボタンを押します(構成内容を変えたい場合であっても後でも変えられます)。
変更を保存ボタンを押すと画面が変わり、下記のように「Google との認証」を促す画面が表示されますので、赤枠でくくったリンクをクリックしてください。

今回は Google Drive への保存ですので、Google アカウントでのログイン情報を求める画面が表示されます。

ログイン後、UpdraftPlus との接続を許可する画面になりますので、確認のうえ「許可」ボタンを押してください。

以上により、UpdraftPlus が Google Drive にアクセスできるようになりました。
合わせて、このページの上部にある「バックアップスケジュール」の設定を行います。

上図のように、バックアップの周期と、バックアップの保存世代数を設定することができます。
スケジュールは以下より設定できます。
手動(※自動でバックアップしない)
2 時間ごと
4 時間ごと
8 時間ごと
12 時間ごと
1 日ごと
1 週間ごと
2 週間ごと
月
世代数は、もっとも古いバックアップが、新しいバックアップが作成された際に消去されます。何年も前のバックアップが無限に残り付つけることはありません。
ユーザーの書き込みなどがあるサイトなどでは、数時間ごとに保存しておくことで、情報の損失を低減することができますが、バックアップの際には負荷がかかりますのでバランスを考慮してください。
いずれにしても、サイトの性質とバックアップの容量で、バックアップスケジュールと保存世代数を決めてください。選んだらページ下部にある「変更を保存」ボタンを押して、システムに反映されます。
ここで実際にバックアップを保存してみたいと思います。プラグインページ上部のタブより「Backup/Restore」を選び、ページ上部にある「今すぐバックアップ」ボタンを押してください。

すると確認画面が表示されます。「このバックアップをリモートストレージに送信」にチェックが入っていることを確認して、「今すぐバックアップ」ボタンを押します。

画面にはプログレスバーが表示され、バックアップ作業の進捗が確認できます。

バックアップが完了すると下記のような画面が表示されます。これでリモートサーバー上にバックアップが保存され、いつでも復元できる状態になりました。

バックアップからの復元(Restore)
復元は障害からの復旧など以外にも、たとえば Web サーバーの引っ越しなどの際にも十分有用なソリューションになります。
まず復旧させたい環境に WordPress をインストールし直すなどして、Wordpress が起動するところまでは自力で回復する必要があります。
WordPress が起動したら、UpdraftPlus プラグインだけをインストールします。
UpdraftPlus プラグインがインストールされたら、バックアップが保存してあるリモートサーバーへの接続を行います。
上記のバックアップの保存の手順で紹介した手順と同じように、ユーザー認証を済ませ、UpdraftPlus とリモートサービスの接続を許可します。
その後、UpdraftPlus の画面上、「Backup / Restore」タブの「リモートストレージを再スキャン」をクリックすると、

リモートストレージに保存してあるバックアップの一覧が読み込まれます。

上記リストより復元させたい世代のバックアップを選び、その行の「復元」ボタンを押します。
復元はウィザード形式で進めていきます。まず復元対象を選択します(デフォルトはすべて復元するのですべてにチェックが入っています)

次へを押すと、リモートサーバーからローカルへファイルのダウンロードが始まります。

この際、ときどき「ブラウザが応答しません」的なメッセージがでることがありますが、そのまま「待機」を押してください。
ダウンロードが完了すると最終確認画面が表示されますので、確認して「復元」ボタンを押してください。

復元中は作業内容が画面に表示されます。作業が完了するまで待機して下さい。

復元作業が完了すると、Restore Successfull というメッセージが表示されます。

この時点でもうすでに WordPress は復元された状態になっているので、Wordpress のログインが要求されます。
以前の WordPress のログイン情報を入力してログインすると、復元されていることがわかると思います。
なお、こういったバックアップ・復元は、普段何でもないときに一度被災訓練みたいな形で実行しておくと、事前に問題点などが発見できて、より良いバックアップ体制になります。
今回私も、まさかの「ホスティング業者のバックアップが役に立たなかった」というケースだったためバックアップがあり心から助かりました。まさに転ばぬ先の杖。バックアップ環境は用意しておきましょう。