backup103

自宅サーバーならではのWordPressバックアップ考察

2015/05/25[公開]

 自宅サーバーでWordPressを運用するにあたって、バックアップについて色々書いてみました。PCをWEBサーバーとして流用する是非について語る記事ではありません。レンタルサーバーや高信頼サーバー専用機よりも優れているとも思っていません。趣味で自宅サーバーを運用するうえで、情熱を持って創意工夫でいろいろなサービスを組み合わせればここまで出来ますよ、という話です。

バックアップの必要性

 もともとパソコン用途として設計されたPCやパーツを使って24時間稼働させようとしているのですから無理があります。そのうち壊れるでしょう。かといってサーバーの信頼性を高める方向に行くのは青天井でお金がかかります。最悪、少しくらいサーバーがダウンしてる時間があっても笑って許せる前提です。ただし、いかにその時間を短縮するかということを考えます。

レンタルサーバーとは意味合いが違う

 レンタルサーバーでWordPressを稼働させる場合のバックアップといえば、誤って操作して表示やデータがおかしくなった時の予備的なバックアップが前提になっていると思います。まさかレンタルサーバー運営会社が、「ごめんデータ全部消しちゃったテヘペロ」と言ってくるとは考えない前提です。(過去にそういったケースが無いワケではないですが。)

 バックアップを使ってリストア(復旧)が確実にできるか本番サーバーで実験する人はまずいないでしょう。せいぜいテスト環境にリストアしたり、サーバー移転時にリストアして試してみるという、失敗しても元サーバーにデータがあるから安心という状態しか経験しないでしょう。

そのバックアップは本当に復旧できますか?

 自宅サーバーの場合は、HDDやSSDが突然壊れることも想定の範囲内です。そんなときにバックアップデータしか残っていない状況になるワケです。その緊迫したプレッシャーの中、はじめてバックアップからリストアしてみたらエラーが出て復元できなかった!なんて事体に陥ったらTHE ENDですね。

 日々の積み重ねで書いてきた投稿記事を一から書き直す気力はないでしょう。特にWordPressのようなCMSはWEBブラウザで直接編集するため、昔のようにホームページビルダーを開いたらデータが残ってた!なんて可能性も低いです。

 だから確実に戻せるバックアップが必要なのです。

何度もリストア経験済みです

 私は、何度も自宅サーバーのWordPressをバックアップから復元しています。PCサーバーの機種を変更したときや、最近Debina8.0 JessieにOSを入れ換えたときには、いろいろ手こずって何度もバックアップから復元するハメになりました。(記事にしています。)

  おかげで、いろいろ試して分かったこともあります。

WordPressバックアップの基本

 WordPressのバックアップは、MySQLなどのデータベースのバックアップと、アップロードした画像などのファイルのバックアップの二つのバックアップが必要だというのが基本です。

backup102
二つのバックアップが必要です。

本当の丸ごとバックアップが可能

 自宅サーバーの良い点は、なんの制約も受けずにバックアップが取れることです。データベースにrootでアクセスしてSQLコマンドでダンプファイルを取ることが出来ます。データ量の多いWordPressディレクトリを丸ごとコピーしてバックアップを取ることができます。しかもサーバーに外部HDDやUSBメモリを直挿ししてバックアップできるのでネットワーク負荷の心配を考慮する必要がありません。

 稼働中のWordPressをそのままの状態でバックアップしてリストアすることが出来ます。管理画面に一度もログインすることなしにバックアップとリストアが可能です。

 基本のバックアップ方法は、MySQLならmysqldumpコマンドでデータベースのバックアップと、WordPressディエクトリを圧縮してバックアップを取ります。

プラグイン利用は面倒

 プラグインでバックアップを取るのは簡単そうですが、復元作業が大変そうです。WordPressを複数インストールしている場合も管理が大変でしょう。普段はプラグインばかり利用している私ですが、バックアップだけはプラグインを利用していません。

phpMyAdmin

 phpMyAdminのインポート・エクスポートを利用してデータベースのバックアップを取る方法もありますが、データベースとユーザーをまとめてエクスポートできなかったので、データベースをインポートしたあと、データベースに固有の権限を持ったユーザーを作り直したりする必要があったので手間がかかりました。

 またエクスポートの方法を誤ると、インポートできないケースも多いようなので、私は利用していません。

圧縮推奨

 WordPressディレクトリを丸ごとバックアップする場合は圧縮して保存することをオススメします。特にwindowsではファイルのパス名も含めて約260文字を超えるファイル名は短縮されて保存されたり、エラーが出て保存できなかったりします。

unzip3

 カテゴリーやタグのスラッグを日本語のままにしていると、簡単に260文字を超えるので、バックアップデータをwindows PC経由で保存したり移動したりする場合は、必ずtarやzipで圧縮して保存しておくほうが安全です。

万が一に備える

 いろいろ書きましたが、自宅サーバーの場合は全データロストする可能性が高いためバックアップが重要ということです。さらに機器故障の対応も自分でやらないといけません。よほど物好きでないとやってられませんね。

代替PCを用意しておく

 サーバーが故障したときに迅速に代替PCサーバーを出してきて、データベースとWordPressディレクトリを丸ごと復元するとリストア時間は数分で完了します。そのために現在のPCサーバーと全く同じ設定のクローンPCを用意しています。あくまで代替機なので、家にちょっと古めのPCが眠っていたりするのを活用できるかもしれせん。

Jetpackモニター利用

 WordPress公式プラグインのJetpackにはモニターという機能があるので有効にしておくだけで、万が一のサーバーダウンを検知してメールで知らせてくれます。いち早く障害を察知できるでしょう。外出中に知らされてもどうしようもないかもしれませんが、早く帰ろうとするだけでも助かります。

クラウドサービスを利用

 あの震災を経験しているなら、自宅が一瞬で消滅する可能性も十分考慮しないといけません。最近の火山活動が活発になった日本列島も心配です。ということでクラウドサービスを利用してバックアップデータを自宅以外に保存しています。Dropboxと、DriveeとBoxをDebianサーバーで利用する設定を記事にしています。

 特にDriveeはWordPressを運用するのに人気のレンタルサーバーのエックスサーバーが運営しているクラウドサービスなのでレンタルサーバーの優位性に肩を並べることができます。Boxは海外サーバーなので日本列島がどうにかなったとき用のバックアップとして利用します。

 それらを無料で利用できるのですから便利な時代です。

以上を考慮して

  私の自宅サーバーのバックアップ方法を記事にしています。よかったらご覧ください。

自宅サーバーのWordPressをCronで分散バックアップ

こちらの記事もどうぞ

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です