WordPressのバックアップ・復元方法まとめ

wordpress2

新サーバへ引越しするとき、新テスト環境の整備やらなんやらで WordPress をかなりこねくり回したので、バックアップ~復元の流れについて、実際に手を動かして気付いたアレコレをまとめておきます。

環境により使える選択肢は変わりますが、そのあたりも含めて書いていきます。

※ このエントリは自分用メモのため、今後、Wordpressのバージョンアップや状況の変化に応じて自由に追記・更新させてもらいます。

WordPressをバックアップする

WordPressのシステムや基本的な設定、インストールしたプラグイン、テンプレート、投稿した記事の画像、などはファイルで保存されています。

まずは、以下の方法でこれをダウンロードしておきましょう。

SSHできないサーバでのファイルバックアップ

FTP などでサイトのファイルを丸ごとダウンロードします。

FTP / SFTP クライアントには、Filezilla / FFFTP などがあります。

個人的には使いませんが、2回目以降は FFFTP などのミラーリング機能を使うと、ファイル転送量と時間の節約になるでしょう。

※ Filezilla は巨大ファイル転送対応、SFTP 認証鍵対応、同期ブラウズなど、機能・性能の両方でオススメできる FTP クライアントです。

SSHできるサーバでのファイルバックアップ

サーバへ ssh できるなら、

$ tar –zvcf backupYYYYMMDDNN.tar.gz SITE_HOME

などでサイトを丸ごと固める → FTP/ SFTP などでファイルをダウンロードした方が速いでしょう。

コマンド実行前には、df –m などでサーバ上に十分な空き領域がある事を確認したほうがいいかもしれません。

データベースのバックアップ

WordPressのほとんどの設定や、投稿した記事本文、コメント、プラグインの設定、記事の分類などなど、はデータベースに格納されています

これも合わせて必ずバックアップしておきましょう。

プラグインWP-DBManagerでDBバックアップ

一番お手軽なデータベースバックアップの方法です。

自動で定期的にバックアップを取って世代管理してくれたり、バックアップファイルを指定のメールアドレスへ送ることもできる WordPress 用プラグインです。

バックアップ時はよいのですが、復元時、Wordpress が動かない(例えば壊れた)状態ではこのプラグインも使えない、という欠点があります。(その場合でも mysqldump なり phpMyAdmin などを使えば復元できるので安心ではあるんですけどね。)

個人的にはこの方法はあまり好きではありません。

phpMyAdminでDBバックアップ

WordPress 用のデータベースを丸ごと「エクスポート」します。

手順は以下のとおり。

「エクスポート」 → 「詳細」→ WordPress 用データベース選択 → 圧縮:「gzip形式」

phpMyAdmin

→ 「DROP DATABASE コマンドの追加」にチェック → 「実行」

※テーブルのエクスポートではなく、databaseのエクスポートをする事。

mysqldumpでDBバックアップ

ssh が使える環境なら、以下のコマンドでもバックアップできるかもしれません。

# mysqldump -u root -p --add-drop-database –databases DB_NAME > mysqldump_YYYYMMDDNN.sql

出来たファイルは FTP / SFTP などでダウンロードしておけばよいでしょう。

wordpress

WordPressをバックアップから復元する

スタートがドコなのかにもよりますが、ここではまっさらの環境を基本に書いていきます。

ファイルの復元

元の環境と同じパスに FTP / SFTP でファイルをアップするだけです。

または、ssh などが使えて、tar.gz に固めたものがある場合は、以下のコマンドなどで解凍すればよいでしょう。

$ cd /WP_HOME ←適切な場所に置換
$ tar –zxvf backupYYYYMMDDNN.tar.gz

データベースの復元

phpMyAdminを使ってデータベース復元

「インポート」 → ファイルを選択 → 「実行」 するだけです。

phpMyAdmin2

バックアップファイルが右下の「最長」より大きい場合は、以下のいずれかの対策が必要です。

  • 「アップロードディレクトリ」に直接ファイル送信してから復元
  • php.ini で post_max_size と upload_max_filesize を適切なサイズに調整(一時的に)
  • 次の mysql コマンドでのデータベース復元を使う

mysqlでデータベース復元(mysqldump / WP-DBManager)

ssh が使える環境なら、以下のコマンドでもバックアップから復元できるかもしれません。

# mysql -u root -p DB_NAME < mysqldump_DB_NAME_YYYYMMDDNN.sql

ちなみにこの方法では、phpMyAdmin などで作成したバックアップファイルの読み込みも可能です。

create database 無しのバックアップファイルから復元する場合は、あらかじめ mysql のコンソールや phpMyAdmin から、create database しておく必要があります。

異なる環境への移設時のチェックポイント

同一環境への復元であれば前出の内容で十分ですが、別環境に移設した場合はこの他にも確認すべき設定があります。

長くなるので別記事に切り出しましたので、そちらを確認ください。

手順書を残しておこう

環境によってどの方法を使うのか、とか、細かい手順などは違ってきますので、本当は自分用の手順書を作っておくのがよいでしょう。

体裁なんかどうでも良く、ただのテキストファイルでも良いから、ゼロから復旧するのに必要なサーバ設定手順書とバックアップ復旧手順書を用意しておくと、イザと言う時、役に立つと思います。

なお、このエントリは自分用のメモですので、バックアップ復元などでお困りの方からの質問などはお受けしておりません。

あしからずご了承ください。

Hatena Pocket Line

この記事へのコメント(1件)

  1. wordpressバックアップと移行 | knowledge says:

    11年前

    [...] http://did2memo.net/2012/06/25/wordpress-backup-and-restore-backwpup/ http://www.teradas.net/archives/4974/ カテゴリー: 未分類   タグ: wordpress   作成者: kawada   [...]

コメントを記入