ブログ

復元したことのないバックアップ

どちらのテストを実行するかは、バックアップを誰が持っているかで決まります。片方は予定と予定の合間に終わります。

まず、ご自身のサイトがどちらの種類かをはっきりさせてください。テストは2種類あるからです。Wix、Squarespace、GoDaddy のサイトビルダーで作っているなら、バックアップはサービス側が持っています。ダウンロードできるバックアップファイルはありません。自分のサーバー契約で WordPress を動かしている場合や、サーバーの管理画面がある契約を使っている場合は、たいていは自分でバックアップをダウンロードできます。わからないときは、毎月料金を払っているサービスにログインして、バックアップのページを探してください。バックアップのページが見つからなければ、前者だと考えてください。

2年間、毎晩動いて728回「成功」と報告し続けたバックアップと、その隣にある、一度もチェックが入らなかった1行。そこから実際にファイルを復元した、という行です。数字は説明のために作ったもので、実在のシステムのものではありません。

「バックアップはあります」と「復元できます」は、別の文です。前者は簡単に確かめられて、後者は一度も確かめないままになりがちです。復元したことのないバックアップは、主張であって、命綱ではありません。

サイトが Wix、Squarespace、GoDaddy のサイトビルダーで作られている場合

ステップ1から先にやることはなく、ダウンロードする圧縮ファイルもありません。残る確認は2つだけで、どちらも予定と予定の合間に片づきます。

自分のデータを手元に取り出す。 設定の中に書き出しの項目がないか見てください。何が含まれるかはサービスによって違います。たいていはサイト全体ではなく、商品、注文、顧客、記事の一覧です。ダウンロードしてファイルを開き、いちばん新しい項目が入っているか確かめてください。書き出せないものは、いざというとき誰かが手で打ち直すことになります。

なくしても困らないページで、サイト履歴を試す。 編集画面にサイト履歴やバージョン履歴がないか探してください。お客様が使うページで試してはいけません。新しいページを作って、1行だけ書きます。メニューには入れないでください。それを削除して、履歴から戻します。書いた文字ごと戻ってくれば、その機能は動いていて、ボタンの場所もわかりました。履歴がない場合、戻す手段はサービスのサポート窓口だけです。連絡先は、すぐ出せるところに控えておいてください。

いちばん失いたくないページは、電話番号と営業時間が載っているページです。一度も開いたことのない書き出しファイルは、復元したことのないバックアップと同じ、ただの主張です。

自前のデータベースを持つサイトの復元テスト

サーバーの管理画面を開いて、バックアップのページを探してください。たいていは日付の一覧が並び、その横に状態が書かれています。「成功」と書かれた行は、処理が動いたことを示します。戻せるものができた、とは書いていません。

バックアップが失敗するしかたは、どれもありふれたものです。毎晩の処理が、データベースを含まないまま動き続けることがあります。何週間も失敗し続けているのに、通知が誰も見ないアドレスに届いていることがあります。正しく復元できても、その日のうちに終わらないことがあります。

これは自分で決着をつけられます。今月のうちに静かな午前を1回空けて、下のテストを実行してください。サイトを見るだけでできる短い確認よりは時間がかかりますが、わかることが違います。

ステップ1 何かを復元する前に、バックアップを読む

いちばん新しいバックアップを自分のパソコンにダウンロードして、解凍してください。探すものは2つです。

  • データベースの書き出し。 たいていは .sql で終わるファイル、ときどき .sql.gz です。圧縮ファイルの中にデータベースが入っていなければ、手元にあるのはファイルの入ったフォルダだけです。ページも、商品も、注文も、問い合わせの記録もありません。
  • アップロードした画像。 WordPress のサイトなら wp-content/uploads、それ以外のサイトなら写真が入っているフォルダです。開いて、最近の月のフォルダに画像が実際に入っているか確かめてください。

次に、.sql ファイルをテキストエディタで開きます。.sql.gz は先に展開してください。この1〜2週間に公開した言葉を、いくつか検索します。アポストロフィや引用符を含まない、短い語句を選んでください。これらは前にバックスラッシュが付いた形で保存されるので、そのままの検索では見つかりません。大きなサイトの書き出しは、普通のエディタでは開けないほどの大きさになることがあります。その場合は、ターミナルから grep で検索してください。

ステップ2 公開中のサイト以外の場所に復元する

使える場所は3つあります。

  1. サーバー会社のステージングサイト。 多くのサーバー管理画面には「ステージングサイトを作成」というボタンがあります。あるなら、それを使ってください。
  2. 自分のパソコン。 Local は無料で、WP Engine が作っており、WordPress のサイトを手元のパソコンで動かせます。インターネットには何も公開されません。ダウンロードの際に、メールアドレスを聞かれます。
  3. サブドメイン。 たとえば restoretest.yourbusiness.com.au です。お客様や検索エンジンの目に触れないよう、パスワードをかけてください。

復元できるかどうかを確かめるために、公開中のサイトへ上書きしてはいけません。それはテストではありません。非常事態を、わざわざ自分で起こしているだけです。

始めた時刻と、復元したサイトが初めて表示された時刻を記録してください。この数字がないと、復元できることはわかっても、間に合う速さかどうかはわかりません。

ステップ3 見る前に「うまくいった」の中身を決める

復元した複製を開いて、5つ確かめてください。

  • トップページが表示されます。
  • ページだけでなく、ページの中の画像も表示されます。
  • 管理画面にログインできます。
  • データベースから読み出すものが動きます。予約フォーム、料金表、ショップのページ、問い合わせの一覧などです。
  • いちばん新しい、実際の内容が入っています。先週公開したものを探してください。

5つとも通れば、命綱は本物です。そして、戻すのにおおよそどれくらいかかるかも、これでわかります。

失敗しているときの見え方

  • 圧縮ファイルのどこにも .sql ファイルがありません。
  • 復元したサイトが、データベース接続エラーを表示します。
  • ページは表示されますが、画像が表示されません。アップロードのフォルダが、バックアップに入っていませんでした。
  • いちばん新しい内容がありません。データベースを、古い複製から取っていました。
  • 復元に、プラグインのライセンスキーや、今いる人の誰も持っていないログイン情報が必要になります。
  • 成功はしましたが、何も差し迫っていない静かな午前に、丸一日かかりました。

どれも、今日すぐ困るという意味ではありません。緑のチェックの一覧が、測るべきものとは違うものを測っていた、という意味です。そして今、それがどれなのかがわかりました。誰も持っていないログイン情報は、バックアップの問題というよりアカウントの問題で、確かめておきたいアカウントの一覧があります。

気にしなくていいこと

復元した複製で壊れているように見えるものの多くは、正常です。次のものは、すべて無視してください。

  • 複製からメールが送信できない。 想定どおりです。ステージングサイトや手元の複製は、メールの設定がされていないのが普通です。
  • 手元の複製で、ブラウザが「安全ではない」と警告する。 ソフトが手元用の証明書を入れてくれた場合を除いて、想定どおりです。パソコンの中の複製は、本物のドメインの証明書を持っていません。
  • 一部のリンクが、公開中のドメインを指したままになる。 正常です。アドレスはデータベースの中に保存されていて、データベースを復元しても書き換わりません。そのため、気づかないうちに、リンクで公開中のサイトへ戻っていることがあります。そうなると、失敗したテストが合格に見えてしまいます。ページが表示されたと判断する前に、アドレス欄を確かめてください。
  • プラグインが、このドメインではライセンスが有効でないと言う。 正常です。ライセンスはたいてい、公開中のドメインに結び付いています。
  • アクセス解析。 復元した複製にも計測タグが残っているので、テストの閲覧が本番の数字に混ざることがあります。複製にパスワードをかけるか、見て回る前に計測タグを外してください。複製側で何も記録されないなら、それで構いません。どちらにしても、テストの対象ではありません。

ページ、画像、データベースの中身、ログインがすべてそろっていれば、テストは合格です。今挙げたものは、すべて雑音です。

ステップ4 4行書いて、次の日付を決める

日付を書きます。どこに復元したか。始めから終わりまで、どれくらいかかったか。何が足りなかったか。

テキストファイルに4行、サーバーの契約情報の隣に置いておけば十分です。次にこれをやる人は、ここでわかったことから始められます。

そのうえで、次の1回を四半期後のカレンダーに入れてください。復元テストは、新しいうちだけ意味があります。プラグインが増え、サーバー会社が変わり、誰かがバックアップの予定を変えます。


今月わかることは、2つのうちのどちらかです。命綱が本物だったか、ただの主張だったか。どちらも、必要になった当日ではなく、静かな火曜日に知っておくほうがいいことです。

やってほしければ、このテストはこちらで実行します。誰がやるかより、やることのほうが大事です。午前を1つ決めて、実行してください。

よく聞かれること

サイトが Wix、Squarespace、GoDaddy にあります。復元テストは必要ですか。
この記事のテストは必要ありません。ダウンロードできるバックアップファイルも、それを戻すサーバーもないからです。バックアップはサービス側が保管してくれています。代わりに、短い確認が2つあります。1つは、書き出せるものを書き出して、そのファイルを開いてみること。もう1つは、ページを1つ作って削除し、履歴から戻せるか試すことです。
復元テストはどのくらいの頻度で行うべきですか。
間隔を決めて、それを守ってください。四半期に1回がちょうどよく、多くを失う前に壊れたバックアップに気づける短さがあり、テストが面倒事にならない長さもあります。サイトの土台に変更があったとき、たとえばサーバー会社を変えた、バックアップの仕組みを変えた、サーバーを変えたときにも、その直後に実行してください。
テストのバックアップは、どこに復元すればよいですか。
公開中のサイト以外なら、どこでも構いません。サーバーの管理画面から作るステージングサイト、Local のような無料ソフトで自分のパソコンに作る複製、パスワードをかけたサブドメイン、どれでも使えます。復元できるかどうかを確かめるために、公開中のサイトへ上書きするのは絶対に避けてください。失敗すれば、本物のサイトが止まります。
バックアップにデータベースが入っているかは、どう確かめますか。
バックアップをダウンロードして解凍してください。.sql または .sql.gz で終わるファイルを探します。それがデータベースの中身です。見当たらなければ、そのバックアップにはファイルしか入っていません。つまり、ページも商品も注文も問い合わせの記録も入っていないということです。.sql ファイルをテキストエディタで開き、最近公開した言葉を検索すれば、データベースが最新かどうかを確認できます。
復元した複製からメールが送信できません。バックアップの失敗ですか。
いいえ。ステージングサイトや手元の複製は、メールの設定がされていないのが普通で、送信できないのは仕様どおりです。ブラウザの証明書の警告、プラグインのライセンス警告、表示の遅さ、アクセス解析が記録されないことも同じです。ページ、画像、データベースの中身、管理画面へのログインがそろっているかどうかで、復元を判断してください。