WordPressのバックアップは必要

先日調べ物をしていてたまたま見つけたのですが、WordPressのバックアップは原則不要って書いてあるサイトを見つけて噴飯してしまいました。そんなバカな。今日はバックアップのお話です。

目次

レンタルサーバのバックアップは誰のためなのか?

レンタルサーバ会社はディスクのバックアップを取っています。これはハードウェア障害などで最悪ハードディスクが全部ぶっ壊れたときのためのバックアップです。それとは別に、昨今のレンタルサーバはたいていRAID10構成になっていて、ミラーリングストライピングになっています。ものすごく簡単に言うと、同じデータが2台のディスクに書き込まれてるので、1台壊れても大丈夫ってことですね。サーバもホットスワップ対応のものが多いので、単体のディスク障害であれば電源断なしでディスクが交換されるのが一般的です。レンタルサーバでもクラウドコンピューティングの基盤を使っている場合はストレージはもっと複雑です。この場合でも、大抵はRAID1以上、つまりミラーリング以上の構成になっていることがほとんどだと思います。

たまに、このバックアップデータを間違って消しちゃったデータの復活に提供してほしいという依頼をいただくのですが、これはあくまで社内用途に限られていて、お客様からの依頼で書き戻すことはありません。データには管理用のファイルなども含まれていてサクッと戻せばいいというものでもない事情もあります。バックアップは自社内の障害対応用ということですね。

確かにレンタルサーバではバックアップデータの提供を行っているところもある

有名なところだとエックスサーバやmixhostでは自社で取得したバックアップデータの書き戻しが可能なところがあります。エックスサーバーはデータベースが無料でファイルは5,000円、mixhostは無料ですね。

これとは別にお客さんが自身で設定できるバックアップ機能を提供しているレンタルサーバもあります。大抵コントロールパネルから設定できます。さくらのレンタルサーバでもお客さん用にバックアップ機能を無料で提供していますが、最初は設定が必要です。詳しい設定方法はマニュアルに書いてあります。これを設定すればひとまず安心です。

他社はわかりませんが、バックアップデータはサービス提供サーバとは別のサーバに入っていますので、巻き込まれてデータが壊れることはあまり無いです。ただ、料金未払いとかでサーバ停止されるとデータは削除されます。

サーバ会社でバックアップ取っているのに自分で取る必要はあるのか?

バックアップってセキュリティに似ているのですが、やりすぎるならいくらでもやることはあるけど、利便性やコストが上がるのでほどほどにしておくものです。家の鍵って普通は1個か2個ですが、3個、4個と増やすことも可能ですよね?でも解錠がめんどくさいので現実的な1,2個に落ち着いているわけです。バックアップも同じで、バックアップしたドライブが壊れる可能性もあります、それを心配して別のところにバックアップしても、それも含めて全部壊れる可能性はゼロではありません。ただ、コストが増えたり管理の手間が増えるので、せめてレンタルサーバともう1箇所にしておこうかとなるわけです。

普通のレンタルサーバでバックアップ設定をしていない場合は大抵保守用のバックアップデータ提供はされないので、バックアップはしていないのと同義です。なのでバックアップは取りましょう。FTPでつないで自分のPCにダウンロードするのが一番一般的でかんたんですが、時間と手間がかかります。

BackWPupなどバックアッププラグインはスケジュールを作って自動バックアップができます。プラグインでのバックアップは楽ですが、サーバ負荷が高くプロセスを殺されてバックアップが終わらないこともあります。ジョブの実行履歴を確認するようにしましょう。特にこのプラグインは初期設定のバックアップ時間がAM3時になっているのですが、サーバ借りてる人みんなが初期設定のまま使うと、サーバ内のバックアップジョブが一斉に3時に起動してサーバ負荷が上がりすぎる問題があります。初期設定3時ってのやめて1時~6時のランダムとかにしてほしいなぁ、と開発元のリポジトリにissue出したりメール送ったりしたんですが、残念ながら対応できないと言われてしまいました(レンタルサーバの会社の人って実はこういう仕事もしてるんですよね)。

というわけで、3時以外にしていただけるとありがたいです。ちなみに、別に昼間にやっても問題はないです。ただ、バックアッププラグインは不確実な場合があることを覚えておいたほうが良いでしょう。

どこにバックアップすればいいの?

バックアップ先も大事で、BackWPupの初期設定は自身のWordPressディレクトリのwp-content以下に作られます。狂ってるのか?一応そのディレクトリはバックアップ対象からは除外されるんですがこれをなぜか解除しちゃう人がいて、

1GBのサイトのバックアップをする→1GBぐらいのバックアップデータができる→次のバックアップでそれを含めた2GBのバックアップデータができる→次のバックアップでそれを含めた3GBのデータができる(以下肥大

となって、最終的にディスクがあふれる人がいます。もちろんwp-contentにしまわれるデータは.htaccessで保護されて外部からは見えないようになっているのですが気持ち悪いのでバックアップデータは公開ディレクトリより上に置いときたいですね。さくらのレンタルサーバなら、 ~/ にBackupとかのディレクトリを作っておくのがよいです。

自身のディスク内にバックアップする場合、お金や接続設定が必要ないのでかんたんですが、上で書いているようにお金の払い忘れなどでアカウントが廃止されると消えてしまうので心配です。特にWeb制作をされている方はクライアントに支払いを任せていることもあるでしょう。支払いを忘れるとアカウントが廃止されてデータは消えます。そういったケースを防ぐためにDropboxなど外部ストレージへのバックアップも有効です。仕事でレンタルサーバを使う方はここまでやるのが絶対と言っても過言では無いです。

スクリプトが書ける方は、DBダンプとファイル圧縮をして、自身のレンタルサーバ別アカウントにscpでコピーするっていうcronでバックアップっていうのもいいかもしれません。負荷高すぎると殺されるので実行履歴は見ておいたほうが良いですが。

なんでもかんでもバックアップしない

バックアップしろって言ったりするなって言ったり何なんだこいつはと思うかもしれませんがもう少しお付き合いください。WordPressでもそれ以外でも、バックアップしなくてもいいファイルが存在します。代表的なものがキャッシュファイルで、 wp-content/cache のファイルは不要です。キャッシュファイルは大抵断片的で、かつものすごいファイル量があるためバックアップするときの圧縮とコピーにめちゃくちゃ時間がかかります。大抵のバックアッププラグインは除外ファイル/ディレクトリを設定できるので、キャッシュファイルは除外しましょう。

W3 Total Cacheを使っていると、キャッシュファイルのないバックアップファイルから復旧するとダッシュボードで警告が出ることがあるので注意が必要です(個人的にはWP Super Cacheの方が使いやすい気がします)。キャッシュディレクトリ内のファイルをいくつか消すと直るんですが正直使い勝手が悪い。他にもW3 Total Cacheは溜まったキャッシュファイルの削除をちゃんとしてくれない仕様(仕様っていうのか?)で、開発元になんとかしてくれないかって聞いたらそれは仕様だからキャッシュはディスクじゃなくてメモリにしてくれ(APCuを使ってくれ)と言われました。ガーベージコレクションとは…確かにWP Super CacheはオンメモリのAPCuは使えないからW3 Total Cacheの方が高機能なんですよね。

バックアップは必ずする!

というわけで、何が言いたいかというと、レンタルサーバの会社もディスク障害を起こさないように頑張ってるけど、バックアップは絶対取っておいてほしいのです。そして、一度は復旧の練習もしといた方がいいです。

そういえば、BackWPupって復元はダッシュボードからできるんだろうか?と思ってみてみたら、普通にファイルとDBダンプファイル上書きするんですね。これはぶっつけだと困るから練習必要そうです。phpMyAdmin使ってもいいですが、仕事でレンタルサーバ使う方ならぜひコマンドラインでの操作を覚えましょう!

あわせて読みたい
(レンタルサーバーを仕事で使っている方…今すぐ…sshを習得するのです…) レンタルサーバのスペック比較表で「ssh」って書いてあるの見たことある方も多いと思います。個人のブログで使っている方はともかく、仕事でレンタルサーバを使っている...
よかったらシェアしてね!
目次
閉じる