Extensions
JBackup(Daily DB Backup) JBackup について : Joomla!1.5
少し前からJBackupでメモリーが足りないというメッセージで停止してしまうと問い合わせをいただいていました。当初からデータ量によってはあり得ると考えていましたが、おそらくそれが原因ではないかと思っていました。
実際に大量のデータでテストしたことは無いので今回テストしてみました。
条件
- 5000タイトルのダミー記事
- ランダムに1000ワードのintrotext
- ランダムに1000ワードのfulltext
少し極端かもしれませんが、上記のデータ(約66MB)を用意して128MBのメモリーリミット(PHP5デフォルト)で行ってみました。
発生したエラー
- タイムリミットを超えた
タイムリミットの上限を超えるコードを追加しました。 - メモリーが足りない
ここで停止しました。
何度やってもメモリーのエラーで停止します。
結論
- 大量のデータのあるサイトでは、Cronなどで行うようにし、自動でのバックアップを使用しないでください。
- 現在稼働中であっても徐々に記事が増えていくでしょうから自動バックアップをオフにし、Cronなどでのバックアップに切り替えて下さい。
新しいバージョンには少し時間が必要なのでしばらくお待ち下さい。
JBackup プラグインをアップデートしました : Joomla!1.5
JBackupプラグインをアップデートしました : Joomla!
バージョンを1.1.1としています。
先日からすでにファイルは、公開しています。
変更点
- Crontab + wgetによる呼び出しをサポートしました
- SQLファイルは、テーブル毎に保存され、圧縮ファイルを解凍するとテーブル毎のsqlファイルになるように変更しました。
- メモリー上限を把握し、上限を上回りそうならメモリー上限値の変更を試みるようにしました。できなければ、そこでバックアップはストップします。
- バックエンドでの有効・無効オプションを追加しました。(デフォルト無効)
これにより、万一問題が発生してもバックエンドにはアクセスできます。
設定での注意点
- Crontab + wgetを有効にし、且つそれのみで行う設定にした場合、それを呼び出すクエリを他人に悟られない且つ、URLSafeな名前にしないといけません。そのクエリが他人に知られるとなんどもバックアップが行われることになってしまいます。Cronオンリーにしていなければ、指定した時間または間隔を超えたときのみ行われます。
より良い、Joomla!ライフのために
JBackup プラグインをアップデートしました。
インストールされている方は、必ずアップデートしてください。
アップデート方法
- 再インストールするか、jbackup.phpのみを上書きしてください。
- overwrite jbackup.php or reinstall
途中までしか書いていないというか、消そうと思っていたクエリをそのまま残したままでした。なのでサーバーによっては、そのエラーで停止したり、バックアップされずに何度も試みてしまいまうことが考えられます。
サイトが、停止して迷惑をかけてしまった方には陳謝いたします。
これ、トイレで気がつきました。ハッ!
「あ、そうだ。ま、まじぃ」だんだん慣れて来ちゃって気がついたもののやっちゃったものは仕方ないだろみたいに開き直って、ゆっくり(ぉぃ)それからPCを起動し、メールチェックしたらそのエラーに対するメールが来ていたりして早速直しました。と言っても該当行を削除しただけですけど・・・。
それとJoomla!1.5.2より下位バージョンには何もせず、メッセージ出力か、メール送信するようにしました。(これは、追記した。)
コードを見ているようで見ていないものですね。
そうそう、作成しているときにクエリー部分は分離すればと思っていました。長々と書くとその分ミスも起こりやすく、その仕事のみを行うように書いた方がミスも減るし、問題の原因もわかりやすくなるからとわかっていながら、なぜか今回はダラダラと書いてあります。画面にして1画面分くらいのコード量(んだそれ)にすれば自ずとわかりやすくなる。今は5画面分くらいある。
もうひとつ
クエリのエラー発生を見ていないのでエラーが発生した場合でもバックアップ作業を継続してしまうことは良くない。なので目的がバックアップなのにすべてをバックアップしない可能性が無くはない。これも迷ったのだが、エラー処理は書かなかった。これも同様、分離してコードを書けば書いていたかもしれない。
もともと、別のエクステンションを作成中にふと思い立って作成したものなんどえ書き殴ってしまったのだろう・・・。ぉぃ
それにしてもうちのサーバーは、優しいサーバーです。
Joomla!fr and Joomla!TR : JBackup Plugin
Joomla!France, Joomla!Turkeyでも掲載していただいたようです。Joomla!フランスでは、フランス語訳が付いています。(その代わり日本語訳が無くなっていましたが・・・)
そうそう、1.5.2より下位バージョンの対策は今回していませんでした。それは、1.5.2がリリースされてからJoomla!のバージョンも1.5.6にまで来て時間もかなり経過しているから考慮していなかったわけです。下位のバージョンの場合おそらくこのプラグインを有効にした途端にエラーでサイトを見ることができないでしょう。そのため、extensions.joomla.orgには1.5.2以降と書き足しました。そしてうちのDocmanのカテゴリ名にも1.5.2以降と追加しました。
Joomla!1.5.0を使い始めてそのままという方もいるだろうということは、やはり考慮するべきだったのかもしれません。もしかするとまだ、Beta版やRC版使っている方・・・。
う~ん。Systemのプラグインは注意しないといけませんね。当初、プラグインがコールされるタイミングを一番後(すべて出力された後)にしていたのですが、最終的に一番最初に変更したことも原因の一つでしょうね。これは、ログがその表示時に反映されないためそうしています。
Frontpage Auto Updateで経験しているのでわかっていましたが、バージョンの対応状況を書くか、下位バージョンでも動作するようにする必要がありそうですね。





























