備えあれば憂いなし。
ということで、前々から手をつけないとと思っていたWordPressの自動バックアップに着手。
プラグインは人気の「BackWPup」の無料版(free)を使用。
無料版でも機能が充実しているのはありがたい。
DBのバックアップとファイルのバックアップの両方ができるのはもちろん、バックアップ対象も細かく選べるし、バックアップしたファイルを外部ストレージサービスに送ることもできる。
無料版だと Google drive には送れないが、dropbox と sugarsync には送れる。
そして、手動でバックアップできるだけでなく、自動でバックアップもとれるとういのもポイント高い。
サイト更新するたびにバックアップボタン押すっていうのもスマートじゃないもんね。
インストール自体も簡単そのものだが、唯一ひっかかったのが dropbox との連携(認証)の部分。
普通は、dropbox にログインしてある状態で
「Reauthenticate (Sandbox)」か「Reauthenticate (full Dropbox)」のボタンを押して、dropbox へのアクセスを許可すれば済む話。
(※ちなみに Sandbox とfull dropbox はアクセスを許可する範囲の違い。通常は Sandbox でOK)
しかし、なぜか以下のエラーが発生。
Dropbox API: (59) Unknown cipher in list
で、調べてみたら、同じ事で困っている人がいて即解決。
↓のページ(英文)に説明があるが
WordPress › Support » Dropbox API (59) Unknown Cipher Error
やるべき事は以下の3つ。
1.ここからzipファイルをダウンロード
2.中に入っている「backwpup-disable-ssl-verify.php」というファイルを /wp-content/plugins/ の下に置く
3.WPの管理画面>プラグインに「BackWPup disable SSL connection verifying」というのが出来ているので、それを有効化する
これであらためてトライしたころ、Dropbox の認証問題は無事クリア。
バックアップは手動も自動も問題なく動いてくれた!
ただし、サーバーにもよるのかもしれないが、画像ファイルを山ほど含んだブログでバックアップしようと試みたところ、1040秒(17分ほど)頑張っていたが、そこでバックアップ作業を諦めていた。
画像フォルダをバックアップ対象外に設定したところ、30秒もかからずバックアップ終了。
画像が多いサイトのバックアップ方法は別途考えたほうが良さそう。
<< 追記1:2014/11/05 >>
■ BackWPupを入れたままサーバー移転する時に注意すべき点
1.ログファイルのフルパスをチェック
WP管理画面の[BackWPup]⇒[Settings]⇒[Logs]で、新しいサーバーのログファイル置き場のフルパスになっていることを確認すべし。
これが正しくないとバックアップ中にエラーログを残すことなく止まってしまうので要注意。
2.DropBoxにファイルを送っている場合は再度認証
[BackWPup]⇒[Jobs]⇒該当するjobzの[Edit]⇒[To:Dropbox]のAuthenticateで再度認証する。
■ いずれWordPressを他サーバーに移転する可能性があるなら
『phpMyAdminのファイルサイズエラーとBigDumpの300 dump lines超えエラーの対処法』の記事で書いたとおり、BigDumpを使ってsqlファイルをインポートする際に手間がかかりうるので、あらかじめ「作成するクエリの最大長」を短く設定しておいたほうが良い。
そのためには、/wp-content/plugins/backwpup/inc/class-mysqldump.php 内の
「new query in dump on more than 50000 chars.」というコメントの下にある
if ( strlen( $dump ) <= 50000 ) {
を
if ( strlen( $dump ) <= 1000 ) {
のように修正すれば良い。
もちろん、BackWPup自体をアップデートしたらこのファイルも更新されてしまう可能性はあるので、その際は再度修正する必要がある。
<< 追記2:2014/12/02 >>
BackWPupをアップデートした後、最初のバックアップのタイミングで
Dropbox API: (401) Access token not found.
こんなエラーが。。。
要は、再度DropBoxの認証をしないといけないっぽい。
[BackWPup]⇒[Jobs]⇒該当するjobzの[Edit]⇒[To:Dropbox]のAuthenticateで再度認証したところ、問題なく動いた。
ったく、ドキドキさせてくれるぜ。