PowerCMS™
[ブログ] PowerCMS 6 でのアップデートまとめ を追加しました。
[新着情報] PowerCMS 5.21 / 4.51 の提供を開始 を追加しました。
[新着情報] アルファサードの夏期休業について を追加しました。
[よくあるご質問] ページ分割に似た名前のファイルが削除される原因はなんですか? を追加しました。
ホーム > PowerCMS > ドキュメント > スタンダード版 > その他の標準機能 >

リモートバックアップ

アドオン・プラグイン

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)コマンドのパス
  • MySQL の場合
    mysqldump コマンドの絶対パスを記述します。
    例) /usr/bin/mysqldump
  • Microsoft SQL Server の場合
    SQLCMD.EXE の絶対パスを記述します。
    例) C:¥Program Files¥Microsoft SQL Server¥90¥Tools¥Binn¥SQLCMD.EXE
  • Oracle の場合
    expコマンドのパスをフルパスで記述します。
    例) /usr/bin/exp
  • SQLite の場合
    指定の必要はありません。
SQLオプション

各コマンドに対する必要なコマンドオプションを記述します。なお、ユーザー名やパスワードについては環境変数から値を取得しますので記載の必要はありません。各コマンドのコマンドのオプションについては各データベースのドキュメントを参照してください。

  • MySQLの場合
    例) --first-slave --compact --add-drop-table
    ※データベース内のテーブルを全てロック、コメントを抑制、DROP TABLE ステートメントを CREATE TABLE ステートメントの前に追加
SQLファイルのバックアップ先

バックアップファイルの保存先を絶対パスで記述します。同名のファイルが既に存在する場合は上書きされます。パスの指定には テンプレートタグが使用できます。例えば、/tmp/<mt:date format="%Y%m%d%H%M%S">.sqlと指定した場合、/tmp/20090219000000.sql のようにバックアップ時刻をファイル名に含めることができます。

また、/tmp/<mt:date format="%a">.sql のように曜日を指定することで、/tmp/Mon.sql のような曜日毎のバックアップファイルが作成されるため、毎日1回実行することで一週間分のローテーションでバックアップが可能です。

ドキュメントバックアップ対象(カンマ区切り) バックアップするドキュメントのルート・パスを絶対パスで記述します。複数指定する場合はカンマで区切ります。
ドキュメントルートのバックアップ先

ドキュメントルート以下のファイルを ZIP 圧縮したアーカイブの保存場所を指定します。テンプレートタグが利用できます。

/tmp/<mt:date format="%Y%m%d%H%M%S">.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) 差分バックアップのために最終バックアップタイムスタンプが自動的に設定されます。最終バックアップ時刻をクリアして、再度フルバックアップを作成する場合は値を空にして設定を保存してください。通常は設定する必要はありません。

お問い合わせ

お問い合わせフォームがご利用できない場合は、以下のメールアドレスからも受け付けております。
contact@alfasado.jp

製品資料ダウンロード

パンフレットデータ、提案用資料などがダウンロードできます。