渡米生活。(日記)

渡米生活。本家から切り離しました。あまり渡米生活に関係のないプログラムネタや音楽ネタなど。

Wordpressの便利なバックアップ/リストアプラグイン - UpdraftPlus

以前、WP-DBManager + MAMPでサイトのフルバックアップをとる方法の記事で、WP-DBManagerとwpフォルダの定期保存で地道にwordpressのバックアップをとる方法をメモしたのですが、最近は随分便利なバックアッププラグインが出て来ている模様です。

データベースだけでなく、テーマやアップロードファイルも保存してくれて、なおかつDropboxGoogle Driveなどの外部ディスクにも勝手に送ってくれるプラグイン、ということで検索すると、かなり高い率でBackWPupというプラグインがひっかかります。

そこで、喜んでこれをあちこちのwpに導入してみたんですが……(汗)
どれひとつとして、まともに動かない(苦笑)
なんだか、phpのバージョンが合わないだの、色々文句いってきて結局バックアップできないんですね。

そんなときに、新しく管理し始めたサイトで「UpdraftPlus」が使われているのを見て、「これだ!」と思いました(笑)。

  • なにしろ、操作が簡単。
  • バックアップはボタンひとつ。
  • リストアもボタンひとつ。
  • データベースだけでなく、wp-config以下のファイルを3つに分けて保存してくれる。
  • 保存先は、DropboxGoogle Driveのほか、WebDAVFTPサーバ、emailで送信、と殆どなんでもアリ。
  • 保存先の設定の部分だけ英語だけど、それ以外は日本語になってる。

というわけで、以下、UpdraftPlusの導入記録です。
ちなみに、導入したのはxreaです。

プラグインのインストールと準備

UpdraftPlusプラグインを検索してインストールします。
検索結果にはUpdraftPlus - WordPress Backup and Restorationと出て来ると思います。検索結果は現状2つしかないので、間違うことはないかと。

次に、xrea/coreserver向けの設定ですが、多分自動生成されるフォルダが書き込みできない、と怒られるので、予めwp-content以下に"updraft"という名前のフォルダを作り、グループ外に書き込み権限を出しておきます(757)。

インストールされたプラグイン一覧を見ると、

UpdraftPlus - Backup/Restore
アドオン / プロサポート | 設定 | Deactivate

とあるので、「設定」をクリック。
ちなみに、アドオン/プロサポートは有料のサービスですが、無料版でも十分使えます。すると……

アレ、「今すぐバックアップ」ボタンが有効になっていない!
一番下を見ると……

というわけで、予めupdraftフォルダを作っておいた方が面倒がないわけですね(笑)。

残念ながらこうなってしまった方は、以下の手順を踏んで下さい。

  1. UpdraftPlusを一度停止する。
  2. ftpソフトなどでwp-content/updraftフォルダを削除し、同じ名前のフォルダを作り直して、パーミッションを757に設定。
  3. UpdraftPlusを有効化する。

UpdraftPlusが有効化されたままだと、updraftフォルダが消えません。
更に、何故か、apacheの持ち物のままだと、何度書き込み許可を出してもまたパーミッションが755に変更されてしまいます。
なので、自分の持ち物として作り直す必要があります。
なお、フォルダがapacheの持ち物になってしまって、削除できないという方は、こちらの記事を参照。

バックアップスケジュールの設定

手動で定期的にバックアップファイルをローカルにダウンロードする、という方は、これ以上の設定は必要ありません。「今すぐバックアップ」を押すと、updraft以下にバックアップファイルを生成します。

バックアップのスケジュールとか、どんなファイルを保存するか、などは、設定画面を見て簡単に設定できます(日本語になっているので)。
私はファイル類は1週間に一度、データベースは毎日にしました。
いつバックアップするか、時間まで指定したい場合には、有料のアドオンが必要だそうです。

バックアップ先の設定(google drive

しかし、本当にこれを便利に使おうと思ったら、やはりサーバーの外のディスクに自動でバックアップして欲しいですよね。
だって、サーバーが死んだら、多分updraftフォルダ以下のファイルも見えませんから。

というわけで、無料で15GBまで使えるgoogle driveにバックアップを作成することにしました。
DropBoxの方が設定は簡単そうなんですが、こちらはデフォルトでは5GBまでなので……
勿論、googleのアカウントを持っていることが前提なので、ない方はまずそれを作って下さい。

注:Google Drive利用規約には、ユーザーがそこに保存したデータをGoogleが利用することを許可する条項があります。ただし、利用の範囲は、Googleの提供するサービスの向上や新機能開発のために限られますので、たとえば保存データに住所録があったとして、それを他社のダイレクトメールサービスに売ったり、あるいはgoogleがその住所録を使って自社製品の宣伝メールを送ったり、とかいうことはできません。また、googleは、保存文書がgoogleのポリシーに違反していないかチェックすることができるともしています(まあ、これは犯罪に使われた場合など特殊なケースを想定していると思われます)。
一部に誤解があるようですが、googleはユーザーの著作したものに対する著作権はユーザーのものであると明記していますので、上記条項があるからといって、著作権が蹂躙されるわけではありません。
ちなみに、以上はgoogleの全てのサービスに共通しますので、gmailでも条件は同じです。

私はどうせweb上で公開しているものを複製保存するだけなので、この点は気にしませんが、個人情報を保存するのはやめた方がよさそうです。
また、ポリシーを変更するのは米系会社の十八番なので、ポリシーの変更通知が来たら必ず確認することをお勧めします。
以上の条項が気になる方は、Drop Boxをおすすめします。以下のページに設定の詳細があります。
http://www.webdesignleaves.com/wp/wordpress/372/

まず、「保存先を選択」でGoogle Driveを選択。

選択したら、そのウィンドウは閉じずにおいておき、別のウィンドウ(またはタブ)を新たに開いてGoogle Driveにログインし、適当にバックアップフォルダを作成します。(wpbackupとかなんとか名前をつける)

更に、もう一枚別のウィンドウ(タブ)を開いて、以下のリンクをクリックします。
https://code.google.com/apis/console/
すると、こんな画面になります。

Create Projectをクリックすると、下の画面になります。

ここで、上に出ている黄色い枠内の注意事項の中の、「Go Back」のリンクをクリックします。
古いインターフェイスを使わないと、どうも設定できないっぽいです。

すると、Terms and Conditionsがありますので、I Agreeにチェックを入れて"Accept"ボタンを押します。

2回ほど聞かれますが、全部同じようにします。

旧インターフェースに移ったら、左のリストから"Services"タブを選びます。
右に出て来た一覧から、Drive APIを探し、"OFF"となっているところをクリック。

するとまたTerms and Conditionsが出て来ますが、とにかくAgree.
無事起動したら、以下のようになります。

次に、API Accessタブをクリックします。

"Create an OAuth..."をクリック。
新しく窓が開くので、Product Nameに"UpdraftPlus"と入力。あとはそのままで"Next"をクリック。

すると、こんな画面になります。Application TypeはWeb applicationのままにしておいて下さい。
ここで、"more options"をクリックします。

すると、こんなふうになります。

ここで、最初のwordpressプラグイン設定画面ウィンドウを見ます。
Google Driveの項目をみると、グレーでハイライトされたURLがあります(下の図では中のURLを完全に塗りつぶしています)

このグレーの部分をコピーし、先ほどの画面に戻って、"Authorized Redirect URLs"の部分にペーストし、"Create client ID"をクリックします。
Authorized Javascriptの方は弄らなくてかまいません。

これで、Client IDとClient Secretが生成されました。
Redirect URLが正しく設定されているか、確認して下さい。

wordpressプラグイン設定画面に戻って、Client IDとClient Secretをそれぞれコピーします。

最後に、"Google Drive Folder ID"は、2番目に開いたウィンドウの「Google Drive」の窓からとってきます。
Google Driveの、保存ディレクトリに移動します。

ここで、URLを見ると、最後に#folders/で始まる部分があります。この、スラッシュ(/)より後ろの文字列がFolder IDです。

これをwordpressプラグイン設定画面の"Google Drive Folder ID"の欄にコピーして、一番下の「変更を保存」ボタンを押します。

すると、一番上にこんな記述が出て来るので、リンクをクリックします。

設定が正しく行われていれば、以下の画面になるので、「承認する」をクリックします。

すると、以下のようになります。

赤い文字でwarningが出てますが、ためしに「今すぐバックアップ」をクリックしてみれば、きちんと接続されているかが分かります。

リモートサーバへのアップロード中にProgress Barが見えるのがなかなか親切です。

Google Driveをのぞいてみると……

スクリーンショット 2014-01-23 6.01.35 AM
スクリーンショット 2014-01-23 6.01.35 AM Photo by Nohara no Mogura

無事直近の2回分のバックアップが転送されていました!
(何回分保存しておくかも、設定で変更できます)

リストア

以下の記事で紹介しています。

Wordpressの便利なバックアップ/リストアプラグイン - UpdraftPlus リストア編


これ、かなり楽そうだけど(というか、リモートサーバに勝手に保存してくれるだけで十分利用価値あり)、リストアでも楽をしたければ、wordpressのバージョンはこまめにアップデートして最新にしておかないと、古いwordpressを新規インストールするのが難しいかも。。。

データベースだけじゃなくて設定ファイルもバックアップ

デフォルトでは、wp-contentsの下しか保存してくれません。
なので、wp-config.phpとか.htaccessとかも自動で保存してくれないかなーと思ってやってみた。
shellを使うので、サーバーにssh出来ない人はちと難しいかも。

Updraft Plusで設定ファイルも保存する



追記:

はてなダイアリーってiframe使えないんだ…(汗)
スクリーンショット全部flickrに置いちゃったのに、、

更に追記:

写真埋め込みが全部iframeになっちゃったのはflickrの改悪だというのが分かったので、Frickr2HTMLを導入。一番最後のスクリーンショットのみそれで生成してます。これ、便利だわ〜!

だいたいさ、iframeにしてflickr側の見せたいもの(多分そのうち広告でもやるのか)を見せようなんて、根性がセコいよね。無料ユーザーはともかく、こっちは年間使用料払ってるんだからさ。
まあ、所詮htmlなんて手で書けるんだから、本気でflickrがhtml書き出しオプションを無くしたら、多分この手のブックマークレットが増えるだけだと思うが。