データベースとバックアップ

WordPressで小説サイト

 今回はデータベースの話。
 WordPressがデータベースというものを使って情報(文書や画像)を管理しているらしい、というのは判っているのですが、プログラミングなんてど素人な柳にとっては、触らんで済むものなら触りたくないというのが本音です。

 そもそも、WordPressにおけるデータベースとは何ぞや。要はWordPress本体とは別のところに何やら記憶領域があるらしい。で、その中身というのが…

  • 投稿、ページ、その他のコンテンツ
  • カテゴリーやタグなどの整理に利用する情報
  • ユーザーデータとコメント
  • サイトの設定
  • プラグインとテーマ関連のデータ

 …おやおや、ページの構成に必要なものって殆ど入ってるじゃありませんか。
 こうなると、通常のサーバにあるファイルって一体何?という気がしてきます。まあ、phpファイルだろと言われればそうなんですが。
 柳は間違ってもこの道の専門家というわけではないので、至ってざっくり素人理解なのですが、表示するカタチをphpファイルで作り、その中身をデータベースから持ってくるというイメージなんではないかと思います。要は、サイトを表示させるにはphpファイルだけあっても仕方ないのですね。データベースから中身・・を注いでやらないといけない。

 …こりゃ大変だ。

 なんでそういう話かというと、この度「バックアップ」ということについてそろそろ真剣に考えなきゃいけないよね、と思い至ったところだったのです。
 これまでもプラグイン「UpdraftPlus」でバックアップを取ってみたことはあるのですが、どうにもうまくいきませんでした1。仕方ないのでしばらく必要性を感じつつも放置していたという状況(<我ながら怖いなぁ…)だったのです。

 ところが、この度そのツケはきちんとまわってきまして…
 サイト移転に際しては不完全なバックアップファイル(これは前述の 「UpdraftPlus」 ばかりでなく、WordPressに予め組み込まれているエクスポート&インポート機能にも言える)にさんざっぱら泣かされたのでした。そこで今回、バックアップについて自分なりに整理して、使えるバックアップを確保しよう!と思った次第です。

 バックアップというと…HTMLでサイトを作ってた頃は、ローカルとサーバにそれぞれ全てのファイルを置き、ローカルで動作を確認してから新しい(新規作成ないし更新した)ファイルのみを必要に応じて順次アップロードすれば良かったのです。非常に単純明快。
 しかし、WordPressはそうもいかない。調べていくと、表示するためのファイルであるphpと、それに注がれる中身であるデータベース双方をバックアップしておかねば意味がない、ということがわかってきたのでした。

 phpについては最悪、ごっそりコピーしてローカルに落とダウンロードしておく、という手段もあります。しかし、データベースもバックアップし、いつでもphpがそれを参照出来る2ようにしておかなければなりません。

 旧サーバのWordPressは簡易なデータベースをサイト内に持っていました。プラグイン「SQLite Integration」を用いたもので、データベースの本体は「ht.sqlite」というひとつのファイルです。よって、これを移植すれば中身がおおかた読み込めるというある意味解りやすい構造でした。

 しかし新サーバー(さくらスタンダートプラン)はWordPressがクイックインストールできるというのがウリなので、データベース「MySQL」が使用できます。つまり、自分の領域外にデータベースをおさめたサーバが別にあるということになりました。

 さて、そのデータベース…別サーバにあるものですからそれを操作しようとすると、ファイルマネージャーからというわけにはいきません。そのため管理ツールとしてphpMyadminというのがありまして、データベースを弄ろうとするとさくらインターネットの管理画面からこれを使うよう設定されています 3
 ところがこの度手動でバックアップを取ろうとして接続を試みるとこれがログインできない。ユーザ名とパスは合っているのに? サイトは問題なく閲覧できているので、データベースの動作そのものは問題ない4のだと思われます。
 じゃあ仕方ない、データベースの接続パスワードなんてデータベースそのものを直接いじろうとしない限り用のないシロモノです5。だったら手動でやるのは諦めて、なんらかのツールを用いてバックアップする手段を考えた方が良いという結論に至りました。

 最初は至極真っ当に、さくらインターネットが提供するバックアップ手段からやってみることにしました。さくらインターネットが提携している株式会社ユニマルの運営するSnapupを使用します。

 さすが提携しているだけのことはあって、Snapupは確実・簡単ですね。
 さくらインターネットの管理メニュー【Webサイト/データ】→【バックアップ】から入ってサイトの「スナップショット」を取り(これがいわゆるバックアップファイルに相当するらしい)、「スナップショット」は「ステージングサーバー」という仮サーバーのようなものに展開して動作を確認することができます。その上で問題なければ本サーバーへ展開するというまさに至れり尽くせりな機能。実直に、これがきちんと動作するなら何も不安はないといえるでしょう。

 ただし、柳としてはバックアップファイルを手許ローカルにダウンロードできるわけではないというところが少々引っ掛かっているのです。
 往古…HTMLでサイト構築していた頃の感覚が抜けきらない柳としましては、バックアップファイルが手許にないという状況は、なにやらあまり心地好いものではありません。もし、バックアアップファイルそのものにアクセスできなかったらどうするのでしょう6
 …まあ救い難いな、と思って頂いていっこうに構いません。自分でもそう思ってますから。
 データもハードウェアもぶっ壊れるもので、そこに絶対はありません。だったらせめて、なにかあったときに自分の手許にデータが残るようにしておきたいのです。何が起ころうが元原稿さえあれば何とかなるやい、という物書きの救い難いサガのようなものですね。つくづくサブスクリプション時代を生き抜くには難儀な性向というべきでしょう。

 で、辿り着いたのが「Local」というWordPressをサーバ上ではなく自身のパソコン上に構築できるソフトです。
 以前からHTML式にローカルでテストしてからアップロードできるといいなぁ、なんてことは考えていたのですが、これはまさに試験環境を自分ン家のハードディスク上に作れるという優れモノ、しかもフリーソフト。
 早速飛びついたのですが、何が悪いのか新規にテストサイトを作ることはできても既存サイトをミラーリングしようとするとエラーになってしまう。…だいぶリトライしましたが、結果は芳しくありませんでした。幾らテストサイトをつくれるといっても既存サイトを手動でもういっぺん構築…とか、なにやら本末転倒なので断念。使えそうなソフトなのに残念です。

 最終的に落ち着いたのがさくらのサポートサイトでも紹介されている「BackWpUp」。バックアップ用プラグインですね。これは本体データをローカルに保存できる7のでなんとなく安心感があります。データベースのバックアップもボタンひとつでダウンロードする機能もありますしね。

 心配すればきりがないのですが…さしあたってレストア手段がふたとおりもあれば、万が一の時もどっちかでどうにかなる…かな?と考えております。「Local」でのテストサイト構築もあきらめたわけじゃありませんけどね。

 さて、これが年内最後の更新になるかと思います。
 2021年も大変お世話になりました。今後とも、当サイトをよろしくお願い致します。

千柳亭春宵 拝

  1. バックアップファイルは存在するのに古い、とか、バックアップから復帰させようとしても認識させるツールが上手く作動しない、とか…まあ色々あってくたびれたんで放り出してた、というのが実情。
  2. phpなんていわば鋳型ですから、その中身コンテンツはデータベースから呼び出して初めてページとして成立する訳です。あぁややこしい。しかしこの仕組みによって、「動的な」ページを実現したり、全ページにわたる設定をあっという間に書き変えることが出来るわけで…まこと、よくできています。
  3. 例によって、「データベースや、管理ツールのご利用については、サポート外とさせていただいています」「利用方法や仕組みなどを理解されていないお客様はご利用をお控えください」という恐ろしげな但し書きが付いています。…不肖柳、理解してるとは言い難いですが、勉強と思ってやりますけどね。
  4. むしろ、なんとか操作してやろうとパスワードの再設定をかまそうとして危うくサイトそのものが一時閲覧できなくなったりして冷汗三斗。
  5. データベースサーバを設定するときにパスワードを設定するのですが、そのあとデータベースをいくつ作ろうが消そうがこのデータベース接続パスワードとやらは必要ないらしく要求されることはありません。
  6. 実は、過去にそういう経験もしました。はっはっは。
  7. 一旦WordPressフォルダに保存するものの、ダウンロード可能。

コメント