ワードプレス(WP)の完全バックアップ論 記事は定期的に自動で最適化&バックアップ

いつ何があっても大丈夫なように、WPの完全バックアップを行いたいと思います。

WPで記事を書いた場合、そのデータはデータベース(通常はMySQLです)に保存されます。記事内で画像などをアップロードした場合は、データベース(以下、DB)ではなくサーバーのアップロードフォルダに保存されます。その他、テンプレートやプラグインは、それぞれ専用フォルダに保存されます。

記事のみであればDBのバックアップだけで良いのですが、当ブログのように記事内で画像を沢山使っていたり、直接テンプレートを触っている場合は、DBのバックアップだけでは完全とは言えません。

完全バックアップには「DB」と「サーバーのファイル」の2つをバックアップする必要があります。

ファイルのバックアップ方法は、WPの設置時のようにFTPを利用してWPフォルダを自分のパソコンにダウンロードします。WPは画像をアップロードすると自動的に複数サイズにリサイズして保存するので、ダウンロードしたWPフォルダは、それなりの大きさになると思います。

次にDBを保存します。DBのバックアップには専用のプラグインが必要となります。今回は定番とされる以下の2つのDBバックアップ・プラグインを試してみました。

  • WP-DB-Backup
  • WP-DBManager

結論から言うと、WP-DB-Backup はWordPress Codex 日本語版で公式に紹介されているし日本語対応もしており、非常に使いやすいのですが、データベースの最適化ができないので WP-DBManager を導入しました。

WP-DBManager

インストール→有効化します。すると何やら赤いメッセージが表示されました。

Your backup folder MIGHT be visible to the public

To correct this issue, move the .htaccess file from wp-content/plugins/wp-dbmanager to /home/xxxx/www/plusblog/wp-content/backup-db

これはデータベースのバックアップ先が誰でもアクセスできる場所に存在しているため、セキュリティ的に良くないので、.htaccessでアクセス制限をかけてと言っています。

方法ですが、FTPで「wp-content/plugins/wp-dbmanager」にアクセスし、中にある htaccess.txtを .htaccess にリネームし、「/home/xxxx/www/plusblog/wp-content/backup-db」にコピーします。これで赤いメッセージは消えました。

参考:[WordPress]WP-DBManagerを2.50にアップデートしたら.htaccessを移動しろといわれた | HappyQuality

インストールが完了すると、ダッシュボードに「Database」というメニューが現れます。全て英語なので日本語版が欲しい所ですが、WP-DBManagerはバージョンアップが頻繁で有志による日本語スクリプトが追いついていない様子です。それほど難しい英語ではないので、このまま使うことにします。

1.とりあえずバックアップしてみます。

「Database→Backup DB」を選択、「Backupボタン」で完了です。一瞬です。

2.次に、バックアップされたファイルを見てみます。

さきほど.htaccessを置いたフォルダにバックアップファイルができています。「Database→Manage Backup DB」にもバックアップした記録が残っています。この画面でバックアップファイルを選んで復元(Restore)することが出来ます。

3.肝心の最適化を行なってみます。

DBは記事の削除などを行うと歯抜け状態になります。それによりパフォーマンスが落ちるので、定期的に最適化を行なうことでパフォーマンスを維持できます。

「Database→Optimize DB」を選択「Optimizeボタン」をクリック。すぐ終わりました。

「Database should be optimize once every month.」とあるので、月一くらいで最適化した方がいいようです。WP-DBManagerには自動でバックアップや最適化を行うスケジュール機能もあるので、スケジュール予約しておきましょう。

4.スケジュール予約設定をする

「Database→DB Options」の下の方にある「Automatic Scheduling」で、

Automatic Backing Up Of DB:
私は「Every 1 Week Gzip」にしました。これで一週間に一度、メールにて圧縮されたDBのバックアップが送られてきます。
Automatic Optimizing Of DB:
私は「Every 2 Week」にしました。2週間に一度、データベースの最適化が行われます。
Automatic Repairing Of DB:
「Repair」は「修復」ということで、「Restore」の「復元」と混同しそうですが、あくまでバックアップの復元は「Restore」であり、「Repair」とはDBの情報が破損した場合に修復する機能です。これは最適化と同じくバックアップとは直接関係のない機能です。DBの情報が破損した場合に手動でRepairを行えばよいので、ここは「Disable」としました。

これで最適化を含むDBのバックアップが完了しました。DBのバックアップに加え、定期的にサーバーのWPフォルダもバックアップすることで、より完全なバックアップを行いましょう。

 

 

広告