BackupConfig プラグインの機能により、定期的にデータベースのダンプとドキュメントルート以下のファイルバックアップを同時に行い、完全なバックアップを実現します。バックアップしたデータを FTP で転送することも可能です。
バックアップの実行
バックアップは専用のスクリプト $MT_DIR/tools/run-backup-sql-and-docs
で実行してください。
午前4時にバックアップを実行する場合の crontab 設定
0 4 * * * cd $MT_DIR && /usr/bin/perl tools/run-backup-sql-and-docs
リモートバックアップ機能に関する注意事項
- データベースに Oracle を使っている場合、DB サーバーと PowerCMS が動作しているサーバーが同一でなければ動作しません。
- データベースに MySQL を使っている場合、PowerCMS が動作しているサーバーに mysqldump コマンドがインストールされている必要があります。
- 以下のデータベース環境についての動作を保証していません。今後のバージョンで対応予定です。
- Oracle 11g Windows
- Oracle 11g Linux
- SQL Server 2008
バックアップ設定
バックアップの設定はデータベースの種類 (ソフトウェア) によって異なります。設定はシステムプラグイン設定の「Backup Configuration」プラグインの設定から行います。
バックアップに関する設定内容
設定項目 | 解説 |
---|---|
SQL データベースのダンプをバックアップする | データベースのダンプデータをバックアップします。データベースが SQLite の場合、ダンプデータではなくデータベースファイルそのものをバックアップします。 |
ドキュメント・ルート以下をバックアップする | ドキュメント・ルート以下のファイルを ZIP 圧縮してバックアップします (Perl モジュール Archive::Zip が必要です)。 |
SQLファイルを zip 圧縮する | SQL のダンプファイルを ZIP 圧縮してバックアップします (Perl モジュールArchive::Zip が必要です)。 |
mysqldump(pg_dump | exp | sqlcmd)コマンドのパス |
|
SQLオプション |
各コマンドに対する必要なコマンドオプションを記述します。なお、ユーザー名やパスワードについては環境変数から値を取得しますので記載の必要はありません。各コマンドのコマンドのオプションについては各データベースのドキュメントを参照してください。
|
SQLファイルのバックアップ先 |
バックアップファイルの保存先を絶対パスで記述します。同名のファイルが既に存在する場合は上書きされます。パスの指定には テンプレートタグが使用できます。例えば、 また、 |
ドキュメントバックアップ対象(カンマ区切り) | バックアップするドキュメントのルート・パスを絶対パスで記述します。複数指定する場合はカンマで区切ります。 |
ドキュメントルートのバックアップ先 |
ドキュメントルート以下のファイルを ZIP 圧縮したアーカイブの保存場所を指定します。テンプレートタグが利用できます。
|
差分バックアップ | チェックを入れると前回バックアップ実行時以降に更新されたファイルのみをファイルのタイムスタンプから判断して差分バックアップを行います。 |
バックアップ除外パス | バックアップ対象としないファイルやディレクトリのパスを正規表現で指定します。例えば「/¥.」を指定するとドット (.) から始まるファイルを除外します。 |
各データベースに関する特記事項
Microsoft SQL Server 2005 の場合
SQL Server でリモートバックアップを利用する場合は、ActiveState 社の ActivePerl を利用する必要があります。
Windows Server に、バックアップを実行するユーザーを作成します。このユーザーは、 SQLServer2005MSSQLUser$<コンピューター名>$MSSQLSERVER
グループに属するようにします。User グループに属している必要はありません。
次に、[SQLファイルのバックアップ先] として指定するフォルダで、フォルダのプロパティを表示し、セキュリティタブを選択します。ここで、 SQLServer2005MSSQLUser$<コンピューター名>$MSSQLSERVER
グループに対して変更権限を設定します。
その後、Windows Server のタスクを作成します。以下の点に注意が必要です。
Oracle Database 10g for Linux の場合
バックアップには exp コマンドを利用します。tools/run-backup-sql-and-docs コマンドを実行する cron のジョブにおいて、データベースのキャラクタセット指定に合わせて NLS_LANG 環境変数をエクスポートします。データベースのキャラクタセットと環境変数が異なる場合、バックアップデータが文字化けすることがあります。
午前4時にバックアップを実行する場合の crontab 設定例
0 4 * * * export NLS_LANG=JAPANESE_JAPAN.AL32UTF8 && cd $MT_DIR && /usr/bin/perl tools/run-backup-sql-and-docs
詳細については『Oracle Database ユーティリティ 10g リリース2』および『Oracle Database グローバリゼーション・サポート・ガイド 10g リリース2』を参照してください。
Oracle Database 10g for Microsoft Windows の場合
バックアップには exp コマンドを利用します。バックアップを実行する前に、データベースのキャラクタセット指定に合わせて NLS_LANG 環境変数 ( JAPANESE_JAPAN.AL32UTF8
など) をシステム環境変数として設定してください。データベースのキャラクタセットと環境変数が異なる場合、バックアップデータが文字化けすることがあります。
Windows Server に、バックアップを実行するユーザーを作成します。このユーザーは、Backup Operators グループに属するようにします。User グループに属している必要はありません。
次に、[SQLファイルのバックアップ先] として指定するディレクトリで、フォルダのプロパティを表示し、セキュリティタブを選択します。ここで、Backup Operators グループに対して変更権限を設定します。 その後、Windows Server のタスクを作成します。注意すべき点については、「Microsoft SQL Server 2005の場合」と同じ設定値を指定します。
詳細については『Oracle Database ユーティリティ 10g リリース2』および『Oracle Database グローバリゼーション・サポート・ガイド 10g リリース2』を参照してください。
ログの設定
設定項目 | 解説 | 設定例 |
---|---|---|
エラーログのパス | エラー発生時に追記されます。ウェブサーバーから書き込み可能な場所を指定してください。 | /tmp/backup-error.log |
実行ログのパス | バックアップ実行時に追記されます。ウェブサーバーから書き込み可能な場所を指定してください。 | /tmp/backup-success.log |
FTP に関する設定
設定項目 | 解説 | 設定例 |
---|---|---|
バックアップデータを FTP 転送する | バックアップ後、バックアップデータを FTP プロトコルを使用して転送します。同名のファイルが転送先に存在した場合、上書きします。 | |
FTP 転送が成功したらバックアップファイルを削除する | FTP による転送が成功後、ディスク上に生成されたバックアップデータを削除します。バックアップデータは FTP 転送されたサーバに保存されます。 | |
FTP サーバー名 | FTP アクセスのためのサーバー名または IP アドレスを指定します。 | 192.168.11.19 |
ディレクトリ(CWD) | 転送先ディレクトリを指定します。 | /backup |
ユーザーID | FTP アクセスのためのユーザーアカウント (ID) を指定します。 | username |
パスワード | FTP アクセスのためのパスワードを指定します。 | password |
その他の設定
設定項目 | 解説 |
---|---|
最終バックアップ(UNIX time) | 差分バックアップのために最終バックアップタイムスタンプが自動的に設定されます。最終バックアップ時刻をクリアして、再度フルバックアップを作成する場合は値を空にして設定を保存してください。通常は設定する必要はありません。 |