WordPressとバックアップ運用について

そもそもバックアップって?

何らかの原因で何かが損傷した場合に復旧するための元ネタとなりますよね。
事前にきちんとバックアップしておくことで、phpやcssの書き換えに失敗した
とか、MySQLが壊れて飛んだとか、あらゆる場合に備えることができます。
(Jetpackの有償版使えばいいじゃんという方はスルー推奨w)

えーコマンドじゃめんどくさい~

いや、そこは頑張りましょう。
WordPressのプラグインでWP-DBManagerを使用するとデータベースのバックアップは
WordPressの管理画面からハンドリングできますが、WordPressのスクリプト自体は無理ですよね?
(WP Quadを作ったところが、WordPressのサイトを丸ごとコピーできる

じゃぁ具体的に何をすればいいの?

  1. どんな環境を想定しているの?
    TeraTermなどのsshクライアントでアクセスできる環境を想定しています。
    sshでログイン後、rootユーザーになることが前提です。
  2. WordPressのバックアップについて
    これは運用環境で大幅に変わってきます。
    レンタルサーバなどでは、Web画面からちょいちょいとできたりする物もあったりしますが
    私のように自前サーバで運用している場合では、また話は別となります。
    不定期ですが、WordPressが格納されているディレクトリを丸ごとtarで固めて、
    全く別のクラウドに置くようにしています。ウチののサーバへrootユーザーでsshを利用してログインします。
    コマンドとしてはこんな感じですね。

    # tar czf ./hoge.tar.gz ./hoge/fuga/mogo

    ここで出来た、hoge.tar.gz ファイルを手元の端末にscpでコピー(TeraTermの機能で可能です)
    した上で、クラウドへアップロードしておきます。
    ここまでやれば、WordPressのコードやプラグインのコードが丸ごとバックアップ出来ます。

  3. MySQLのバックアップ
    これについては、WordPressのプラグインが沢山あるのですが、それだとWordPress自体が
    動作していない限り利用できません。
    レンタルサーバでWebから利用できるツールが用意されていない環境では、以下のように
    コマンドを実行する必要があります。
    MySQLではコマンドでバックアップすることを「ダンプする」と言いますが
    ダンプするとテーブルの定義とデータが一緒になったファイルが出来上がります。
    これもやはりscpなどで手元のPCへ転送したうえで、全く別のクラウドへアップしておきます。

    # mysqldump -u root DBname > dumpfilename.sql
    # tar czf dbbackup.tar.gz ./dumpfilename.sql

 

ここまですれば・・・・

もしサーバが物理的に壊れたとしてもWebサーバさえ準備できれば、バックアップを取った時点に
戻ることが可能となります。
「備えあれば患いなし」です。バックアップは本当に大事ですから、ぜひバックアップされることをお勧めします!