バックアップ・リカバリー

ワードプレスの無料バックアップ | PLUGINを使わないプレーンな方法


ワードプレスを使っていると「データベースのバックアップを取ってから~」と表示されることがままあります。
これ以外とわかんないですよね?「phpmyadmin でデータベースをダウンロードすればいいんだな。」程度。

じゃあ、具体的にどうする?バックアップはいいけどリカバリーはどうやるの?
データベースだけでリカバリーできるの?ってことになってしまいます。

そんなら、「プラグインでバックアップ」して「プラグインでリカバリー」すればいいだろう。という結論になります。
が、プラグインが動く状態、つまりワードプレスが正常に動いている状態ならそれもあり。
なをかつ、バックアップ、リカバリーの仕方がわかる。ならです。

で、案外ワードプレスのバックアッププラグインって有料なんです。
無料で使えるのは使い心地がわかる程度で実際には使えないものがほとんどです。
all-in-one-migrationでも無料には制限があってバックアップできる最大サイズが決まっています。

さらに、リカバリーが必要ということはワードプレスがちゃんと動かない状態のこともある。
それ以前にバックアップなんか取ってない!ってことも・・・(汗)
ということで、ワードプレスの復旧させるだめの「データベース」のバックアップ、「データ類」のバックアップの方法を解説します。
※最低限データ類のバックアップはもっていないと画像関係の復旧(リカバリー)は、ほぼできません。

ワードプレスを復旧(リカバリー)するためのバックアップ

ワードプレスの「同じサーバー」でも「異なるサーバー」でも復旧するために必要なものは次の通りです。
  • ワードプレスのデータベースのバックアップ
  • ワードプレスのデータベースのバックアップとはデータベーステーブルをバックアップすること

この2つがあれば、どこにでもワードプレスを復旧(リカバリー)することができます。
それぞれのバックアップの方法を説明します。

ワードプレスのバックアップに最低限必要な知識

ワードプレスのデータベースのバックアップは、いうまでもなく phpmyadmin を使用します。
phpmyadmin は、どのサーバーでもデータベースを扱えるサーバーなら必ずついていて、サーバーのコントロールパネルからアクセス可能です。

エックスサーバーなら、こんなところに!www

phpmyadminに入るには、「データベースユーザー」のIDとパスワードが必要になります。
これは、wp-config.php を見れば一目瞭然。

データベースユーザーのID,パスワードを入力してppmyadminに入ります。

ログインするとこんな感じ。


データベースの構造
phpmyadminでデータベースをバックアップするに至って、覚えておかないとどれとどれをバックアップすればいい?ということになるので、最低限の知識としてデータベースの(MySql)の構造を説明します。

phpmyadminに入ると入ったときのユーザーIDとパスワードで管理できるデータベースの一覧が表示されます。

左側に「データベース」が並んでいます。

データベースの中にはデータベーステーブルがあります。

データベーステーブルの中には row (行) があります。
データベースの行(row)の中には column (桁) があり、そのカラム1つ1つがデータ(フィールド)になっています。
フィールドには、option_name (変数名)がついていて、その中に実際のデータが格納されています。


この行=1フィールド=1データの概念が案外わからなかったりしますよね?
行と呼んでいるのは、フィールドの集まりのことです。
カラムは、そのフィールドを示します。

まとめると、
データベースは、
 データベーステーブルの塊。

データベーステーブルは、
 行(row)の塊

データベースのROW(行)は
 桁(column)の塊

例えば、図の option_name が site_url これは中を見てみる(編集をクリック)と、site_url という「変数名=option_name」の中には、直接 サイトのURLが記載されています。

それで、ワードプレスのデータベースをさらに複雑にしているのは、「紐づけ」という概念です。
前述の桁(カラム=column)の中には、直接データが入っています。

が、そのほかに直接のデータではなく、そのデータが入っている桁の番号を入れているものもあります。
つまり、こんな感じ。

データベースAは、テーブル全体で「果物」の入っているデータベースCの場所を示しています。
データベースBは、テーブルの中の1つの桁(カラム)の中にデータベースのCの「果物」の入っている桁(カラム)の場所を示しています。
データベースAもデータベースBもデータの置き方は違いますが、データベースCのデータへの「紐づけ」を行っています。

ワードプレスのデータベースのバックアップとはデータベーステーブルをバックアップすること
ワードプレスでは、「データベースをバックアップ」といいますが、実際には、使っているデータベーステーブルのバックアップを指しています。
基本的に「1データベースには1つのワードプレスのデータが入る」という前提。
ですが、実際には、1つのデータベースの中に複数個のワードプレスのデータを保存しています。

1つのワードプレスは、いくつものデータベーステーブルを使います。
postのデータ(投稿内容が入っている)やカテゴリー(紐づけ)、サイトの情報(_options)などです。

じゃあ、どのワードプレスがどのテーブルを使っているか。
そこで出てくるのが「テーブル接頭辞(テーブルプレフィックス)」です。

例えば、ワードプレスの情報(サイトURLとかワードプレスURLとか)は、XXXXX_options というテーブルに入っています。
この XXXXX_ の部分がテーブル接頭辞(テーブルプレフィックス)です。

仮にワードプレスAのテーブル接頭辞(テーブルプレフィックス)は、XXXXX_ ワードプレスBのテーブル接頭辞(テーブルプレフィックス)は、YYYYY_ としましょう。
この2つは同じデータベースを使うものとします。
そうするとデータベースの中には、XXXXX_options と YYYYY_options のテーブルができているということになります。

同じデータベースを共同利用するためのものが テーブル接頭辞(テーブルプレフィックス)です。
つまり、ワードプレスAのデータベースをバックアップするならば、テーブル接頭辞(テーブルプレフィックス)が XXXXX_ のテーブル全部をバックアップすればいいということです。

バックアップファイルは、サーバーに出力でもダウンロードでも構いません。
どちらにしても一度ローカルマシンに持ち込んで、リカバリー時にアップロードする形になります。


ワードプレスのバックアップ

ワードプレスのプレーンなバックアップは、以下の通りです。
※この方法は引っ越しでも使用できます。

  1. データベースをバックアップ
  2. スクリプト類から (wp-content/uploads , wp-content/plugins)をバックアップ

データベースをバックアップ
データベースをバックアップするには、phpmyadmin を使用します。
phpmyadmin のログインは、wp-config.php を参照してログインします。

次に該当するデータベースを開きます。

エクスポートからの。。。

  • エクスポート方法
    詳細 – 可能なオプションをすべて表示
  • フォーマット
    SQL
  • テーブル
    テーブル接頭辞(テーブルプレフィックス)が、同じものをすべて選択

      • 出力:
        触るところなし
      • フォーマット特有のオプション
        触るところなし

      • 生成オプション
        「DROP TABLE / VIEW / PROCEDURE / FUNCTION / EVENT / TRIGGER コマンドを追加する」
      • データ作成オプション
        触るところなし

      • エンコーディングへの変換
        触るところなし



      スクリプト類から (wp-content/uploads , wp-content/plugins)をバックアップ
      スクリプト全部をダウンロードする必要はありません。
      ワードプレスのフォルダー内で変化があるのは、 wp-content の中だけです。
      wp-content の中でも plugins , uploads ぐらいなものです。

      もちろん、使っているプラグインによっては、そのプラグインが作成するフォルダーもありますが、バックアップしてリカバリーするときは、提供元から持ってくればいいので基本的に必要ありません。
      それで、plugins と uploads といいましたけど本体も込みでバックアップが必要なのは、uploads だけです。

      plugins をダウンロードする目的は、どんなプラグインを入れていたか思い出すためで、リカバリー時には新しいプラグインを持ってくるので本体までダウンロードしておく必要はありません。
      どんなプラグインを使っていたかわかればダウンロードの必要はありません。

      ちなみにそれらの情報を uploads のフォルダーに残してくれるプラグインを自作しています。
      ダッシュボードにそのワードプレスサイトの情報を書き残す目的で作ったものです。
      ところが使っているうちに、あれもこれもとなってリカバリー時の情報をuploads に残しておけばuploads 1だけダウンロードすれば済むなってことでそこまでバージョンアップしてあります。
      ゆずまるのダッシュボードメモ

      スクリプト(uploads)ダウンロードで使うFTP
      スクリプト(uploads)をダウンロードするFTPはFileZiilla を使ってください。
      FileZilla はアップロード、ダウンロードに失敗するファイルがあっても止まることなく最後まで処理してくれます。
      失敗したものはログに残ります。

      多分スクリプト(uploads)のファイス数、サイズは結構大きくなると思うので途中で止まるとすごく困るんです。
      だから、ffftp や NextFTP 等々のFTPでは仕事にならないのです。

      もちろん、それぞれ使い道・・・NextFTPだけはありますけどね。
      NextFTPは、こざかしい機能が便利でメインFTPです。
      FileZilla
      ダウンロード(バックアップ)するのは、plugins と uploads だけでOK

      ワードプレスのリカバリー

      Pluginを使わないワードプレスのリカバリー(復旧)は次の手順で行います。
      1. 復旧先 | リカバリーサイトのドメインを設定(引っ越しでなければ必要ない)
      2. 復旧先 | データベースを設定
      3. 復旧先 | データベーステーブルをリカバリー
      4. 復旧先 | データベース内のワードプレス情報を編集
      5. 復旧先 | ワードプレスのスクリプトをアップロード
      6. 復旧先 | バックアップスクリプト(uploads)をアップロード
      7. 復旧先 | バックアップ元のテーマをアップロード(後で切り替えてもOKだが、同じものにしないと面倒になる)
      8. 復旧先 | ワードプレスのインストール
      9. 復旧先 | ワードプレスのプラグインをインストール

      復旧先 | リカバリーサイトのドメインを設定(引っ越しでなければ必要ない)

      リカバリーサイトのドメインを設定(引っ越しでなければ必要ない)

      エックスサーバーの場合。。。でもないんですが、別のエックスサーバーにドメインを移動させようとして別のサーバーの方でドメインを追加すると「できません」になります。
      この場合、元のドメインを「削除」してからでないと、別のサーバーの方でドメインを追加できません。

      ちなみに、あまり関係ないかとは思いますがドメインを廃棄したときサーバー内のドメイン設定をそのままにしておくと。
      廃棄ドメインは誰でも買うことができます。で、廃棄したドメインを買った人がいたとしましょう。
      その方はエックスサーバーにそのドメインを設置しようと思ったとしましょう。
      あなたがそのまま放置しているとどうなります?

      そうです設定できませんwww
      たぶん、買った方がエックスに問い合わせてもサポートは知りませんになると思います。
      見知らぬ人への嫌がらせはやめましょうwww

      廃棄ドメインは、必ず「削除」しておきましょう。

      エックスサーバーのドメイン追加

      復旧先 | データベースを設定

      言わば、サーバー提供の簡単インストールを使わない方法です。
      サーバー提供の簡単インストールはなるべく使わないほうがいい。
      なぜなら、せっかく学べるタイミングを捨ててしまうから。
      自分の手でやった作業は忘れることはないし失敗は知識を増やします。

      以下は、スターサーバーの物ですが、エックスでもほかのサーバーでも同じことです。
      データベースユーザーを設定(データベースのID,パスワードは、データベースユーザーの物を指します。)
      1. データベースユーザーを追加
      2. データベースを設定
      3. データベースとデータベースユーザーを結びつける

      復旧先 | データベーステーブルをリカバリー

      1. 設定したデータベースに phpmyadminで入る

        ここで入れるのは「データベースユーザーのアカウント(ID)」と「パスワード」です。
      2. phpmyadmin でバックアップした データベースの SQL ファイルをインポートする。
        データベースべ-スを選択します。

        インポートを選択します。
        ※既存のデータベースに追加する場合(基本1データベースに1ワードプレス推奨なんですがwww)、テーブルプレフィックスがバッティングしないことを確認してください。

        アップロードするファイルを選択します。


        他は特に触る必要ありません。ファイルにSQL (拡張子 .sql)を選択した時点で終わっています。

      復旧先 | データベース内のワードプレス情報を編集

      バックアップしたデータベースのSQLの、サイトURL、ワードプレスURLは、以前のURLになっています。
      同じ場所へ再インストールするならばそのままでOKですが、違う場所に設置する場合(引っ越しなど)は、この2つを編集しなければいけません。
      データベース内の XXXXX_options を選択します。

      siteurl と home のURLをそれぞれ編集します。

      siteurlの編集をクリックしてURLを編集します。

      siteurl は、ワードプレスのスクリプトの入っているところです。
      home は、表示しているURLです。

      https://AAAA.com でサイトを公開し、ワードプレスをその下位階層の wp/ に置く場合
      siteurl は、http://AAAA.com/wp
      home は、https://AAAA.com
      になります。

      基本的にこれでワードプレスは動きますけど、投稿データ、固定ページデータの中にも url を記載したもの、例えば img などがあります。
      それらを前の(同じドメインなら必要ない)URLから新しいURLに変換しないといけません。

      これはツールを使って一括で行うのが速い。
      ※データベースの中身置換の代表的なツールには Search Regex とか Search Replace DB とかあります。
      Search RegexSearch Replace DB※Search Regex は、ワードプレスのプラグインなので使い方は簡単です。

      でも、英文なので(翻訳すれば案外簡単)ちょととしり込みする場合は、
      地道に、 phpmyadmin に入って mysqlのコマンドで変換するのが正規です。

      でもSQLは敷居が高いなという方は、念のため、こちらにSearch Regexの使い方を書いておきます。
      ワードプレスのデータベース内文字列変換プラグインSearch Regexの使い方
      MYSQLのコマンドは、
      UPDATE テーブル名 SET カラム名 = REPLASE( カラム名, ‘置換前文字列’, ‘置換後文字列’);

      使用例
      「http://www.AAAAA.com」から「https://www.BBBBB.jp」に置換。
      UPDATE XXXXX_posts SET post_content = REPLASE( post_content, ‘http://www.AAAAA.com’, ‘https://www.BBBBB.jp’);
      「XXXXX_posts」のテーブルに格納されているものは「投稿」「固定ページ」「カスタム投稿タイプ」「メディア」です。

      phpmyadminで、データベースを選択して、XXXXX_posts を選択して、上のタブから SQL を選択することでコマンドの打ち込み画面になります。

      復旧先 | ワードプレスのスクリプトをアップロード

      バックアップしたワードプレスのスクリプトをアップロードしても(マルウェアとかに感染してなければ)いいかもしれません。
      基本は、こちらからワードプレスをダウンロードしてきてリカバリー先へアップロードするのがスタンダードでしょう。
      ワードプレスのダウンロード
      ダウンロードしてきたワードプレスのファイkるを解凍してサーバーにアップロードします。
      アップロード先は、ドメインのWEBサーバーです。

      エックスならば、public_html/ 。
      その中に wp などの階層を作って入れるのならば、wpの中へ。
      アップロードはもちろん、 FileZilla を使います。


      復旧先 | バックアップスクリプト(uploads)をアップロード

      バックアップ (ダウンロード) してきている uploads/ をwp-content/ へアップロードします。
      ※マルウェアに感染していたりした場合には、おかしなファイル(php .htaccessなど)は削除してから、また、uploads/ 以外に aoi とか wp-content には、様々なファイルやフォルダーができていたりします。
      プラグインなどが作るファイルでしょうが、これはアップロードしないようにしてください(マルウェア柄にならなおさら)。
      プラグインのバージョンが違っていたりすると余計な作業が発生する可能性があるからですが・・・

      復旧先 | バックアップ元のテーマをアップロード(後で切り替えてもOKだが、同じものにしないと面倒になる)

      バックアップ元のテーマを wp-content/themes/ へアップロード。
      テーマもできれば供給元からダウンロードしてきた最新のものを入れるのが好ましい。。。けどカスタマイズとかしてたらねぇ?www
      マルウェアがらみでなければいいかも。ただし、PHPのバージョンとかを合わせないとphpのワーニング(警告)や動作不良が出る可能性がありますので注意してください。

      復旧先 | ワードプレスのインストール

      各種ファイルのアップロードができたら、ワードプレスのアップロード先へアクセスします。
      https://XXXXX.com/wp/wp-login/php




      データベース名、データベースユーザー、データベースユーザーパスワードは、設定したデータベースになります。
      テーブル接頭辞(テーブルプレフィックス)は、バックアップしたもののテーブル接頭辞(テーブルプレフィックス)をいれます。

      設定があっていると次のようになります。


      あとは、バックアップ時のIDとパスワードでログインします。


      復旧先 | ワードプレスのプラグインをインストール

      バックアップした plugins 内のフォルダー名から、設定していたプラグインを探し出してプラグインを追加します。

      ダウンロードして来れたなら、「新規プラグイン追加」→ 「プラグインのアップロード」
      で追加します。


      展開(解凍)されているプラグインならばFTPでアップロードして、「プラグイン」から有効化にします。


      以上となります。

      あなたのワードプレスライフの一助になれば幸いです。
      スポンサードリンク

関連記事一覧