WordPressのバックアップはDBもファイルもまとめてDropBoxに保存できるBackWPupが使いやすい | kira-ismで紹介したBackWPup。
非常に便利なのですが、DropBoxにAPI経由で転送できるファイルの最大サイズは150MBなのです(クライアントからのアップロードは先日のアップデートで上限がなくなったようですが)。
先日に写真や動画をまとめてアップしたらバックアップファイルが150MBを超えてしまい、Dropboxに保存することができなくなってしまいました。
こんなエラーメッセージがログに出てきます。
[ERROR] DropBox API: Error: File "/home/**********/www/
BKUP_kira-ism/FullBackUp_Dropbox_2012-06-24_09-51-05.tar.gz" is too big max. 150 MB.
見たことのある方もいるのではないでしょうか。
それなら!と
SugarSyncに保存をしようとしたのですが、エラーで全く保存できず。
BackWPupのフォーラムでもSugarSync連携について様々なバグ報告が多く、原因不明で作者さんも困っている様子。
そもそもDropboxよりもSugarSyncの方が容量が大きく、ファイルサイズに上限なし、また「ウェブアーカイブ」フォルダ(パソコンと同期しない)も使いやすいので乗り換えようかと考えていたところでした。
取り敢えずですが、プラグインのソースを少しいじり、設定も変更することでSugarSyncに安定して保存できるようになったので、その方法を備忘録的にまとめました。
Sponsored Link
参考にしたエントリ
この解決に参考になったのはBackWPup を SugarSync にできた! その設定方法 | thikasa note。基本的な考え方とヒントをこのエントリからいただきました。
自分の場合はこれとは異なるけれど似た症状で
[ERROR] SugarSync API: cUrl Error: SSL_write() returned SYSCALL, errno = 32
というエラーメッセージが出ていました。
やはり上述のエントリと同じ事をしても解決はしません。
そして闇雲に設定を変えるとまた異なるエラーが発生したりという状態でした。
試行錯誤して分かったこと
複数の問題があって事象が複雑でしたが、いろいろ試してログを読み込んだ結果、こんな事がわかりました。
- JobStepが正常に終わっても、BackWPupはほぼ全てエラーと誤認識している
- 正常終了のステータスで終わっても、SugarSyncへの転送がされていない時もある
- ファイルサイズの小さいファイルは確実に転送されて正常に終了している
- リトライ回数(デフォルトは5回)に関わらずエラーになる時はなり、エラーの際もその回数分の長い時間がかかっている
これらとBackWPup を SugarSync にできた! その設定方法 | thikasa noteの内容を合わせて解決方法を考えました。
現状で最も安定して効率的な設定は
結論から言うとこんな設定にしました。
- backwpup-functions.phpの326行目の$revtime=time()-600; を
$revtime=time()-2400; に変更 - Settingsの「Max. retrys for job steps」と「Max. retrys for job script retries」を1に設定
- 「WP XML Export」「Database Backup」「File Backup」のそれぞれを個別のJobで実行
最大のポイントは$revtime=time()-2400; の修正。その意味はBackWPup を SugarSync にできた! その設定方法 | thikasa noteの通りですが、自分の環境では1800でも成功することがあったので、それに余裕を持たせて2400にしました。
リトライ回数は前述のとおりデフォルトは5回ですが、成功する時は一回で成功するし、失敗する時は何回やっても失敗するので、これはもう1回でいいや!ということ。
$revtime=time()-600;(600秒=10分)であれば、10分x5で50分もかけた挙句に失敗してしまうのはいやですね。
この辺は、サーバや回線の処理能力やファイルサイズによって調整が必要と思います。
Jobを個別に分けたのは、そもそもはファイルサイズが小さいと成功する(境目の値は未だはっきりせず)ためですが、このようにしたほうがトータルで所要時間が短くなることが確認できたことが主な理由です。
もちろん一回のJobで一つのバックアップファイルにしたいのですが、そうすると失敗率が高まったので現状では仕方ないかと。
なお、自分の環境では処理はちゃんとできているのにこんなエラーログが出ているので、やはり処理ステータスの判別がバグってるのかなと思います。
現状のBackWPupはDropboxとの連携、またWordPressがインストールされたサーバ内でのバックアップは完璧に動作していましたが、SugarSyncとの連携はまだバグを多く抱えています。
動作確認はしていませんが、FTPで他のサーバに転送も可能ですが、いい転送先になるサーバが自分にはありませんでした。
とは言え、今のところBackWPupに代わるプラグインはない、素晴らしいプラグインです。
ちょっとずつ設定を変えながら自分にあった設定を探しましょう。
SugarSyncのアカウントをお持ちでない方はこちらのリンクからどうぞ!
500MB多く容量を獲得できますヨ!