WordPressのプラグインBackWPupを使ってバックアップ&リストア手順

WordPress

WordPressのプラグインBackWPupを使ってバックアップ、リストアを行ってみました。

手順は以下の通りです。

スポンサーリンク
スポンサーリンク

WordPressのデータベースのバックアップ手順

WordPressのバックアップにはBackWPupというプラグインを使います。

BackWPupをインストールして有効化します。

image

正常にプラグインがインストールされると以下のように表示されます。

image

BackWPupの設定

BackWPupの設定はとても簡単です。

英語版のメニューしかないようですが、基本的にはデフォルト設定でよいです。

Generalタブの設定は以下の通りです。

Job Nameとして「Regular backup」という名前を付けました。

メールアドレスを設定してログが自分のメールアドレスに届くように設定します。

image

Scheduleタブの設定は以下の通りです。

WordPress cronを使って週1回、毎日曜日にバックアップするように設定します。

image

DB Backupタブの設定は以下の通りです。

バックアップ対象を絞ることができますが、すべてチェックしてバックアップしてよいと思います。
image

Filesタブの設定は以下の通りです。

デフォルトのままで問題ありませんが、キャッシュをバックアップしていることは気をつけておいた方がよいです。

キャッシュはバックアップしなくてもよいかもしれません。

image

Pluginsタブの設定は以下の通りです。

image

To:Folderタブの設定は以下の通りです。

どのフォルダにバックアップファイルを作成するかを指定します。

image

このまま「Save changes」を押して設定を保存します。

次に、ジョブを「Run now」を押して「Regular backup」を実行します。

image

わずか30分ほどでバックアップは完了し、

/var/www/wordpress/wp-content/uploads/backwpup-xxxxxxx-backups

というフォルダに

backwpup_xxxxxxx_2014-10-25_12-13-07.tar.gz

というバックアップファイルが作成されました。

WordPressのデータベースのリストア手順

作成されたバックアップファイルを手元のLinux環境にリストアしてみます。

WordPressをLinux環境にインストールするまでの手順は以下の通りです。

CentOS 7にApache2.4+MariaDB+WordPressをインストールする手順
CentOS 7にApache2.4+MariaDB+WordPressをインストールする手順をまとめました。 ...

ここまでのソフトウェアがインストールされているという前提で、さきほどのバックアップファイルをリストアしてみます。

データベースのリストア中に、

ERROR 2006 (HY000) at Line 19418: MySQL server has gone away
MySQLで ERROR 2006 (HY000) at Line 19418: MySQL server has g...

というエラーが表示させることがあります。

DATABASE SEARCH AND REPLACE SCRIPT IN PHPを使ってデータベースのリプレース

このあとDATABASE SEARCH AND REPLACE SCRIPT IN PHPという著名なツールを使ってデータベースのリプレースを行います。

以下のURLを開きます。

https://interconnectit.com/products/search-and-replace-for-wordpress-databases/

image

「PROBLEM? TRY V2.1.0 STABLE」をクリックしてダウンロードします。

searchreplacedb21.zipというファイルがダウンロードされます。

ローカルホストのIPアドレスを192.168.141.135とすると http://192.168.141.135/searchreplacedb2.php

をブラウザから開きます。

image

「Submit」を押します。

image

「Submit DB details」を押します。

image

「Continue」を押します。

image

「Search for (case sensitive string):」にバックアップ元のドメインを入力します。

「Replace with:」にローカル環境のIPアドレスを入力します。

このまま「Submit Search string」を押します。

image

「Safe Search Replace Completed」と表示されて変更が完了しました。

/var/www/wordpress/searchreplacedb2.phpは別のディレクトリに移動しておきます。

念のためにシステムを再起動しておきます。

http://192.168.141.135/wp-admin/

からWordPressにログインします。

image

キャッシュ系のプラグインを導入している場合は、ログイン後にキャッシュを削除しておきます。

パーマリンクなど正しく表示されることを確認します。

パーマリンクで404 Not Foundとなったときは、

WordPressのパーマリンクで404 Not Found
WordPressのパーマリンクで出た 404 Not Found というエラーを解決しました。 ...

を参照してください。

追記:Search Replace DB Masterがバージョン3になって使いやすくなった

Search Replace DB Masterに、新しいバージョン3が登場しました。

バージョン2に比べて随分と分かりやすくて使いやすくなりました。

replace の右に旧ドメイン名を入力します。

withの右に新ドメイン名を入力します。

あとはデータベース名、ログイン名、パスワードを入力します。

今回から、「dry run」という方法が追加されています。

これは、お試しでやってみるという方法なので、まずこちらで試すことをお勧めします。

これで成功することを確認してから実行するようにします。

もっとも、Dry runで失敗してもどうしようもないかもしれませんが。

また、バージョン3から「delete me」というボタンが付いており、成功したら「delete me」を実行して、ツール自体を削除しておきます。

これを削除しておかないと外部の第3者から、勝手にドメインを変更されるリスクがあります。

WordPress cronが実行されない

WordPress cronを使って週1回自動バックアップするように設定したつもりなんですが、自動バックアップの機能が動いていないようです。

2014.11.20 追記

WordPress cronが実行されない理由は、キャッシュ系プラグインを無効にした際に、object-cache.phpがゴミとして残っていたことが原因でした。

WordPress予約投稿に失敗する原因はwp-content/object-cache.phpだった
WordPress予約投稿に失敗する原因を調べてみました。 私の場合は、wp-content/object-cache...

予約投稿もバックアップもWordPress cronを使っていたので、object-cache.phpを削除することで、両方とも修正されました。

WordPressの定期バックアップ

WordPress cronを使って定期バックをアップを行うと以下のようになります。

image

「Regular backup」をクリックするとバックアップのログを表示することが可能です。

このままでは、毎週バックアップファイルが作成されますので定期的に削除するか、別サーバーにバックアップファイルを移動する必要があります。

Dropboxなどのクラウドストレージに移動するのがよいと思います。

WordPressのおすすめ本

↓WordPressのおすすめ本はコチラ

WordPressのおすすめ本