WordPressのバックアップと復元の手順書

バックアップと復元の手順書です。
(※レンタルサーバにロリポップを使った環境でテストをした方法を記載しています。)

<バックアップの方針>

  • 毎月1回と、WP 本体・プラグイン・テーマ等のバージョンアップ前にバックアップをとる。
  • バックアップは、過去3世代分をデスクトップとオンラインストレージに保管する。(長期スパンで過去のバックアップもいくつかとっておく。)
  • バックアップ後、テスト環境で復元テスト。

 

<バックアップと復元>

  • WordPress のバックアップ
    1. サイト全体(ファイル)のバックアップ
    2. データベース(投稿、コメント、リンク、サイト情報など)のバックアップ
    3. 復元テスト
    4. リビジョンを削除して DB を軽くする
  • WordPress の復元

※私の個人的な環境に基づいた手順書です。参考程度にしてください。

 

WordPress のバックアップ

1. サイト全体(ファイル)のバックアップ

FileZilla などの FTP ソフトで WP ディレクトリ全体をダウンロードします。
ダウンロードしたファイルを zip 形式で圧縮します。
圧縮した zip ファイルをデスクトップのバックアップ用ドライブに移動し、オンラインストレージ(google ドライブ)にも保存します。(3世代分のみ保管)

2. データベース(投稿、コメント、リンク、サイト情報など)のバックアップ

シェル + cron で、毎日 WP インストールディレクトリ内にデータベースのバックアップをとります。(3世代分のみ保管)
バックアップ場所は以下のディレクトリとします。

WPインストールディレクトリ/wp-content/cron-db-backup/

「シェル + cron」の設定ができていれば、常に新しいデータベースのバックアップがサーバ上保存されている状態となるため、「1. サイト全体(ファイル)のバックアップ」を行えば、データベースのバックアップも一緒にローカルやオンラインストレージにバックアップされることになります。
→ cron でバックアップするサンプルスクリプトはこちら

3. 復元テスト

テスト環境(別ドメイン)でバックアップファイルから復元ができるかテストします。
※予め作成してある、テスト用データベース(xxxx4test)、テスト用ドメイン(xxxx4test)、レンタルサーバ上のテスト用ディレクトリ(xxxx4test)でテストします。

WordPress Codex で手順を確認しながら行います。

<1>レンタルサーバ上のテスト用ディレクトリ(xxxx4test)にバックアップファイルをアップロードします。

<2>wp-config.php を修正します。
→ データベース名を修正。
→ define( ‘DOMAIN_CURRENT_SITE’, ‘xxxx4test.example.com’ );のように修正。

<3>テスト用データベース(xxxx4test)に、バックアップしたデータベースのsqlファイルをインポートします。

<4>データベース内のドメインを置換する。
<マルチサイトではない場合>
・(マルチドメインではない場合は)全データを安全に変更するため、「Database Search and Replace Script in PHP」を使う。使い方↓

  1. ダウロードファイルを解凍し、フォルダ(Search-Replace-DB-master)ごとテスト環境のインストールディレクトリ(wp-config.php があるディレクトリ)にアップロードする。
  2. ブラウザで「xxxx4test.example.com/Search-Replace-DB-master/」アクセスする。
  3. replace に本番ドメイン、with にテスト用ドメインを入力。database の name に間違いがないか確認し、all tables にチェックを入れて、live run をクリック。
  4. すぐに「Search-Replace-DB-master」フォルダを削除する。

<マルチサイトの場合>
「Database Search and Replace Script in PHP」を使わないで WordPress Codex(WordPress マルチサイトの移動)を参照してドメインの置換を行います。

<5>テスト用ドメイン(xxxx4test.example.com)にアクセスし、表示されるか確認します。

<6>復元テストが成功したら、テスト用データベース内の全テーブルを削除し、テスト用ディレクトリを空にします。

4. リビジョンを削除して DB を軽くする

プラグイン「Better Delete Revision」を使用し、次回バックアップのためにリビジョンを削除してDBを軽くしておきましょう。

WordPress の復元

1. データベースのインポート

バックアップしたサイト全体のデータの中にデータベースのバックアップが含まれています。
データベースのバックアップは以下のディレクトリにあります。

WPインストールディレクトリ/wp-content/cron-db-backup/

レンタルサーバの phpMyAdmin にアクセスし、データベースをインポートします。

2. バックアップのサイト全体ファイルをアップロード

FileZilla などの FTP ソフトでバックアップしたサイト全体をアップロードします。

Be Sociable, Share!

コメントを残す

メールアドレスが公開されることはありません。