
自動的に、設定した周期で、設定した場所に、データベースのバックアップファイルを作成し、添付ファイルとしてメールで送信します。Nucleus CMS v3.*のバックアップ不具合を検知する機能もついています。
ver0.091は、旧バージョンです。解説
使い方
インストールして、プラグインオプションを設定するだけです。
プラグインオプション
- 次回のバックアップ時刻
次回のバックアップ時刻を過ぎて、最初のアクセス時にバックアップをとります。
過去に設定した場合、最初のアクセス時にバックアップ処理が実行され、指定間隔で次に(未来)行われるべき時間に再設定されます。
例)
次回のバックアップ時刻の設定 = 2006-01-16 02:00:00
バックアップ間隔の設定 = 3
2006-01-16 07:00:00 に最初のアクセスがあった場合、即座にバックアップ処理を行い、次回のバックアップ時刻は「2006-01-16 08:00:00」(02時から2回目のサイクル、02時 + 3H * 2回目 = 08時)に設定されます。
- 何時間おきにバックアップしますか?
バックアップ間隔の指定です。24Hで毎日、168H(24*7)で毎週となります。
- バックアップファイルを、圧縮しますか?(非圧縮はお勧めしません)
圧縮機能を使用できないサーバー環境でも使用できるようにしました。圧縮しない場合、圧縮ファイルと比べ十数倍のサイズになります。
お使いのサーバーで、圧縮機能が使用できるかどうかは、「Nucleus Adminで圧縮バックアップができるかどうか」で確認することができます。
- サーバー上の保存するディレクトリ名
サーバー上のディレクトリ名(パス)を指定してください。
ネット上のURLではなくて、サーバーで、割り当てられた最初のディレクトリを基点とした、絶対指定です。
例えば、/home/sato/nucleus_bak/
Win系サーバーの場合、こんな感じになるのでしょうか。c:¥www¥sato¥nucleus_bak¥
ブラウザからアクセスできる場所じゃない方が良いと思います。(ブラウザからアクセスできる場所に置く場合、アクセス制限などをかけて下さい。)
専用のディレクトリを用意してください。設定量を超えると、古いファイルから削除されますので、削除されては困る他のファイルを置かないでください。
- 保存ディレクトリの合計容量が指定量を超えた場合、古いファイルを削除します(MB単位)
1つのバックアップファイルで、この設定値を超える場合、バックアップファイルを作成した直後に削除してしまいますので、バックアップファイルの数倍程度(以上)に設定しておくと良いと思います。デフォルトは10MBです。
- メッセージ及び、圧縮ファイルを送信するメールアドレス(空白の場合、送信せず)
現在の仕様では、処理メッセージはメールにのみ出力されますので、メールアドレスを設定しておかないと、処理メッセージを確認することができません。
[2005.11.28追記]
大容量のGmailを使用すると便利です。Gmailのアカウントを取得する方法は、「{{289}}」をご覧下さい。
- 圧縮ファイルを、メールに添付しますか?
「いいえ」に設定すると、圧縮ファイルは添付されず、処理メッセージだけが送信されます。
- 「プラグインテーブルチェック機能」を使用しますか?
「getTableList&MySQL予約語のチェック機能」をオフにできるようにしました。
- 過去アイテム・過去コメントの行頭#検索を、今実行し結果を上記メールアドレスに送信しますか?
「はい」に設定し、オプションを保存すると、その場で行頭#検索を実行し、結果をメールで送信します。
メールで通知するメッセージ
- 正常にバックアップできていると思いますが、確認をお願いします。
- バックアップファイルは、メールに添付しない設定になっています。
- バックアップファイル1つで設定サイズを超えたため、保存ディレクトリは空になっています。
- nucleus_db_backup_********.sql.gz(古いファイル)を削除しました。
- nucleus_db_backup_********.sql.gz(古いファイル)を削除しようと試みましたが、削除できませんでした。
- 警告!!Nucleusのバージョンが異なるため、バックアップを実行しませんでした。対応バージョンを確認して下さい。
- 警告!!各種プラグイン内で登録されている、以下のテーブルが、データベース内に見つかりませんでした。
- 警告!!以下のプラグインテーブルにMySQLの予約語が使用されているため、正しくリストアできない可能性があります。
- アイテム「****」にコメントが追加されましたが、行頭に#が付いていますので、正しくリストアできない可能性があります。
行頭に#を使用したコメントが追加された場合のみメールで通知します。
- アイテム「****」http:**** 行頭に#が付いている箇所がありますので、正しくリストアできない可能性があります。
行頭に#を使用したアイテムが追加・編集された場合のみメールで通知します。
- 全てのアイテム、コメント内を検索した結果、・・・(問題のあるものをリストアップします。)
プラグインオプションから、行頭#検索を実行した結果です。
仕様
- プラグインからNucleus全体のバックアップをとりますので、Nucleusの特定バージョン限定のプラグインとなります。
- 保存ディレクトリには、バックアップファイル以外を置かないこと(設定量を超えると削除されます。)
- バックアップファイル1つで保存ディレクトリの設定サイズを超える場合、バックアップしたと同時に削除されます。
- 設定した時刻を過ぎ、最初のアクセス時にバックアップ処理を実行します。
注意点
安心のためのバックアップですので、ご使用の環境で、このプラグインが出力するバックアップファイルと、Nucleus Adminのバックアップから出力するファイルに差異がないことを十分ご確認下さい。
テスト時には合わせて、phpMyAdminなどでもバックアップをとることを、強くお勧めします。リストアは慎重に。
Nucleus Adminのバックアップファイルと、比較検証していただけるとありがたいです。(比較の際には、
比較方法を参考にしてください。)
環境の違いによる不具合などがございましたら、ご連絡いただければと思います。
「動いたよ」だけでもコメントいただけると助かります。
ダウンロードファイルの、_Nvは、Nucleus本体のバージョンを表しています。
ダウンロード
変更点
- 分かりやすいように、ファイル名にブログ名を入れました。
- zlib非対応サーバーでも使用できるように、非圧縮バックアップが可能になりました。
- backup.phpを、includeせずに、クラスメソッドとして取り込みました。
- 分かり難いメッセージを、一部変更
- プラグインテーブルチェック機能(getTableList&MySQL予約語のチェック)をオフにできるようにしました。
ダウンロードファイルの、” _Nv ” 以降の数字が、対応しているNucleusのバージョンです。

バージョン経歴
↑このフィードをRSSリーダーに登録しておくと、この記事へのコメント追加をチェックすることができます。
コメント追加後の、返事待ちなどにお使い下さい。
なお、コメントチェックの必要がなくなった際には、このRSSを削除して下さいね。
不要なトラフィックを避けるために、ご協力お願いいたします。