BackWPupによるWordPressサイトのバックアップ方法
WordPressサイトを作成していると、バックアップはどうするのか気になることもあります。投稿や固定ページなどコンテンツのバックアップのみであれば「ツール」‐「エクスポート」メニューで済みますが、もう少し全体的にデータベースも含めてバックアップする方法を紹介します。
WordPressサイトを簡単にバックアップできるBackWPupプラグインを使います。単純なバックアップ目的だけでなく、サイトをコピーして別サイトに移転したいときにも役立ちます。
たとえば、レンタルサーバーで稼働中のサイトをバックアップしてローカルPCにテスト用のコピーサイトを立ち上げたり、レンタルサーバーAからレンタルサーバーBにサイトを丸ごと移転するのも簡単です。参考にしてください。
※バックアップの説明だけで話が長くなってしまったので、復元方法については別の記事で説明します(予定)。
この記事の内容
プラグインのインストール
「プラグイン」‐「新規追加」メニューからBackWPupプラグインをインストール、有効化します。
「BackWPup」‐「Add New Job」メニューを開いて、バックアップ作業の定義を行いましょう。
バックアップの一般設定(Generalタブ)
まず、「General」タブを開いて、実行するバックアップの一般的な設定を行います。バックアップ作業に任意の名前を付け(1)、バックアップ対象のデータにチェックを入れます(2)。デフォルトのままでも構いません。
「Job Tasks」のチェックボックス(2)について説明します。
その前に、バックアップ対象のデータ「ファイル」と「データベース」の違いを簡単にまとめておきます。
- ファイル --- WordPressプログラム本体、コンテンツ、アップロードした画像、テーマ、プラグインなど、主にwp-xxxxxディレクトリなどのファイル群で、FTPでもダウンロード可能
- データベース --- 投稿や固定ページの内容、さらに、プラグインやテーマの設定など(上記の「ファイル」とは違ってFTPでダウンロードできないもの)
バックアップする用途に応じて、「Job Tasks」のチェックボックスをオンにします。本体を含めてすべてをバックアップするには「Database backup」と「File backup」をチェックします。
- Database backup --- WordPressデータベース(コンテンツ)をバックアップします。
- File backup --- WordPressのファイル(本体・画像・テーマなど)をバックアップします。
プラグインは膨大な量になることもあるのでデフォルト設定ではバックアップは行われません(後述の設定でバックアップすることもできます)。代わりに「Installed plugins list」をチェックすることで、インストール済みのプラグイン名の一覧だけをバックアップに含めることができます。
WordPress XML exportは、「ツール」‐「エクスポート」メニューから行うコンテンツのエクスポートと同じです。投稿や固定ページがXMLファイルで出力されます。ただし、コンテンツは上記のDatabase backupでもバックアップできるので、必須ではありません。
その他、以下の項目はバックアップするデータベースのチェックや最適化を行うオプションなので、バックアップに必須ではありません。
- Optimize database tables
- Check database tables
画面を下にスクロールして、一般設定を続けます。
Archive name(アーカイブファイル名)(1)は、固定の文字と年月日時分秒などを組み合わせて付けることができます。デフォルトではbackwpup_7140e9_2013-11-14_22-19-10.zipのようなファイル名になります。
Archive Format(フォーマット)(2)は、ZipやTarなどから任意のフォーマットを選択します。
Job Destination(保存先)(3)は、フォルダやDropboxなどから選択することができます。
- Backup to Folder
- Backup sent by e-mail
- Backup to Dropbox
- Backup to an S3 Service
- Backup to SugarSync
保存先のディレクトリ設定やDropboxとの連携(認証)は別のタブで行います。そのタブは、ここで選択したバックアップ先に応じて表示されます。後で説明します。
Log Files(ログファイル)(4)には、実行時のログファイルを送付するメールアドレスを設定することができます。Errors onlyをチェックすると、エラー発生時のみにメールが送信されます(デフォルト)。
「Save changes」ボタンをクリックすると設定が保存されますが、クリックせずに別のタブに移動しても、自動で設定が保存されます。
バックアップのスケジュール
「Schedule」タブを選択して、バックアップのスケジュールを設定します。
Start job(1)では、バックアップを手動で行うか自動で行うか、開始タイミングを設定します。
- manually only --- アドミンバーなどから「Run Now」(バックアップ実行)をクリックして手動でバックアップします。
- with WordPress cron --- 自動バックアップをスケジュールすることができます。
- with a link --- リンクをクリックして手動でバックアップします。
with WordPress cronを選択した場合、バックアップ実行のタイミングを設定することができます。
Type(1)でmonthly(毎月)、weekly(毎週)、daily(毎日)、hourly(毎時)を選択することで、それぞれの間隔で、毎月?日、毎週?曜日、毎日?時などのタイミングでバックアップを自動実行することができます。
Scheduler type(2)で「advanced」を選択すると、さらに細かい時間単位でバックアップの開始タイミングを設定することができます(デフォルトはbasic)。
データベースのバックアップ(DB Backupタブ)
DB Backupタブでは、バックアップするデータベースのテーブルを選択します。すでに、現在のWordPressサイトに必要なテーブルがチェックされているので、よくわからなければ何も設定を変更せずにデフォルトのままで構いません。
※冒頭の一般設定(Generalタブ)でデータベースのバックアップをしない設定にした場合、このタブは表示されません。以下、Filesタブなども同じ考え方です。
チェックされていないテーブルがいくつも表示されるのは、同じデータベースの中に複数のWordPressをインストールした場合です。現在バックアップしようとしているサイトに関係のないデータベーステーブルはチェックされていないということです。
どのテーブルが現在のWordPressサイトに関係するのかは、WordPressのインストール時に設定した「接頭辞」(接頭語)がヒントになります。たとえば、「wp_fudosan_」という接頭辞でインストールした場合、そのサイトで使うテーブルは「wp_fudosan_posts」など「wp_fudosan_???」という名前で作成されます。つまり、「wp_????」で始まっているテーブルが、そのサイトを構成するテーブルということです。デフォルトでチェック済みのばずなので、深く考える必要はありません。
コピーおよび除外するディレクトリの設定(Filesタブ)
Filesタブでは、バックアップするディレクトリや、除外する(バックアップしない)ディレクトリを指定することができます。
- Backup root folder --- ルートディレクトリをバックアップします。
- Backup content folder --- 言語ファイルなどをバックアップします。
- Backup plugins --- プラグインをバックアップします(デフォルトはOFF)。
- Backup themes --- テーマをバックアップします。
- Backup uploads folder --- アップロード済み画像をバックアップします。
- Include special files --- wp-config.php(WordPressの設定ファイル)、robots.txt、.htaccess、.htpasswd、favicon.icoをバックアップします。
たとえば、WordPress本体のバックアップが不要であれば、「Backup root folder」のチェックをはずしたり、Exclude(除外ディレクトリ)で「wp-admin」「wp-includes」をチェックします。
次の例は、インストール済みの全テーマ(wp-content\themesディレクトリ)だけをバックアップしたい場合のチェック例です。
WordPress以外で作成したディレクトリもバックアップ対象になってしまうので、必要に応じてExclude以下のディレクトリをチェックして除外すると良いでしょう。
プラグイン一覧の作成(Pluginsタブ)
Pluginsタブでは、作成するプラグイン一覧のファイル名などを設定することができます。
Dropboxへのバックアップ(Dropboxタブ)
バックアップの保存先にDropboxを選択すると、Dropboxの設定を行うタブが表示されます。
まだBackWPupプラグインからDropboxへのアクセスを許可していない場合は、Authenticate(1)で「Reauthenticate」ボタンをクリックして認証を行います。
2つのボタンによって、保存先が異なります。
- 「Reauthenticate (Sandbox)」ボタンをクリックした場合 --- 「アプリ/BackWPup」ディレクトリに保存される
- 「Reauthenticate (full Dropbox)」ボタンをクリックした場合 --- Dropboxのルートディレクトリに保存される
要は、BackWPupプラグインからDropboxのすべてのディレクトリにアクセスできるようにする(full Dropbox)か、一部のディレクトリへのアクセスに制限するか(Sandbox)ということです。
「Reauthenticate」ボタンをクリックすると、連携のためにログインを求められます。
※以下は「Reauthenticate (Sandbox)」ボタンをクリックした例です。
BackWPupプラグインがDropbox内に「BackWPup」フォルダを作成できるように、「許可」ボタンをクリックします。
WordPressのダッシュボードに戻って「Authenticated!」と表示されれば、Dropboxとの連携が完了です。
その他の設定はデフォルトのままでも大丈夫ですが、保存先のディレクトリ(2)(Folder in Dropbox:存在しない場合は自動作成される)や保持するバックアップファイル数(3)(File Deletion)を設定することができます。
指定ディレクトリに保存する場合(To: Folderタブ)
保存先にフォルダ(Backup to Folder)を選択した場合、「To: Folder」タブでディレクトリを指定することができます。
レンタルサーバーにFTPでアクセスしたことがない方には見慣れないディレクトリ名が設定されているかもしれませんが、デフォルト設定のディレクトリ(例:/home/…略…/wp-content/uploads/backwpup-db171-backups/)を参考に、必要に応じて変更してください。
バックアップ先のディレクトリにはバックアップファイルの他に、index.phpと.htaccessというファイルも作成されます。これは、そのディレクトリに外部からの直接アクセスを防ぐためのファイルです。
設定の完了後、「Save changes」ボタンをクリックして設定を完了します。
作成済みバックアップ定義のメンテナンス
作成したバックアップ作業の定義は、「BackWPup」‐「Jobs」メニューからメンテナンスすることができます。
バックアップ定義のマウスオーバーメニューから、定義の編集、コピー、削除、バックアップの実行を行うことができます。
バックアップの実行
スケジュールバックアップに設定した場合、バックアップは自動実行されますが、手動バックアップは以下のように実行することができます。
デフォルトの設定ではアドミンバーに「BackWPup」メニューが表示されます。このメニューから「Run Now」を選択すると、手動バックアップが実行されます。
※アドミンバーに「BackWPup」メニューを表示するかどうかの設定は「BackWPup」‐「Settings」メニューで変更できます。
または、「BackWPup」‐「Jobs」メニューで一覧表示したバックアップ設定から「Run Now」をクリックして実行することもできます。
バックアップを開始すると、次のように進捗状況が表示されます。
バックアップの開始後、進捗状況を見続ける必要はありません。画面を閉じてもバックアップは続き、必要なときに「BackWPup」‐「Jobs」メニューを開いて進捗状況をリアルタイムで確認することができます。
サイトの規模にもよりますが、バックアップは数分から数十分かかるイメージです。スケジュールバックアップをするなら、真夜中に設定した方が良いでしょう。
バックアップ中に記事を書くこともできますが、その記事がバックアップされるか微妙なので、バックアップが終わってからにした方が良いかもしれません。
バックアップの中止
バックアップを中止するには次の方法があります。
- アドミンバーから「Jobs」-「Now Running」-「Abort!」をクリック
- 「BackWPup」‐「Dashboard」メニューから「Abort」をクリック
- 「BackWPup」‐「Jobs」メニューから「Abort」をクリック
バックアップの完了
完了したバックアップのログは、「BackWPup」‐「Logs」メニューで参照することができます。
「View」をクリックすると、詳細ログが表示されます。
バックアップが完了すると、設定した保存先にバックアップファイルが作成されます。
ファイルサイズはさまざまですが、10MBから100MB、200MBくらいのイメージです。たとえば、200本の記事、20テーマ、7000枚くらいの画像(サムネイル含む)というサイトを丸ごとバックアップしたところ(プラグイン除く)、200MBくらいになりました。
Dropboxに保存した場合、認証時にクリックしたボタンによって保存先が異なります。
- 「Reauthenticate (Sandbox)」ボタンをクリックした場合 --- 「アプリ/BackWPup」ディレクトリ
- 「Reauthenticate (full Dropbox)」ボタンをクリックした場合 --- Dropboxのルートディレクトリ
バックアップファイルを解凍すると、WordPressパッケージを解凍したときと同じようなディレクトリ構成でwp-admin、wp-content、wp-includesディレクトリが作成されます(1)。つまり、そのまま任意のディレクトリにコピーして、WordPressサイトを復元することもできます。
データベースの復元も必要になりますが、それにはSQLという拡張子のファイルを使います(2)。このファイルをphpMyAdminなどのデータベース管理ツールで実行すれば、投稿や固定ページ、各種オプション設定などが格納されたデータベースを復元することができます。
WordPressサイトの復元については、別の記事に書きたいと思います。
このsqlファイルはダッシュボードの「ツール」‐「インポート」メニューから取り込むファイルではありません。念のため注意してください。
以上でバックアップおよびバックアップファイルの確認は終了です。今回はWordPress本体も含めて、すぐにサイトを復元できる構成でバックアップしましたが、常に丸ごとバックアップが必要とも限らないので試行錯誤しながら用途に合わせてバックアップしてください。