mysqldumpを使用したバックアップ

mysqldumpを使用してデータをバックアップする方法を説明します。
バックアップ中は、ユーザーはGaroonにアクセスできません。ユーザーがGaroonにアクセスしない時間帯にデータをバックアップしてください。

バックアップ前の確認事項

mysqldumpを使用してバックアップする前に、次の事項を確認します。

バックアップモードを使用可能にする

mysqldumpを使用したバックアップは、データベースを起動した状態で行います。
ただし、filesディレクトリーは、OSのコマンドを使用して別途バックアップする必要があります。データの整合性を保つために、バックアップ中はデータベースの更新を禁止する必要があります。
バックアップモードを使用して、バックアップ中はユーザーがGaroonにアクセスできないようにします。

初期設定では、バックアップモードを使用できません。
バックアップを開始する前に、設定ファイル「common.ini」の内容を変更し、バックアップモードを使用可能にします。

「common.ini」のファイルパス

(CGIディレクトリー)/(インストール識別子)/common.ini
例:

  • Windows環境:
    C:¥inetpub¥scripts¥cbgrn¥common.ini
  • Linux環境:
    /var/www/cgi-bin/cbgrn/common.ini
「common.ini」で変更する内容

[BackupMode]の下の「disable = "1"」の行を削除します。
変更前:


[BackupMode]
disable = "1"
driver = “xxxxx”

変更後:


[BackupMode]
driver = “xxxxx”

Windows環境の場合

Windows環境で、mysqldumpを使用してデータをバックアップします。
インストーラーに同梱されているMySQLを使用している場合を例に説明します。

  • インストール識別子:cbgrn
  • CGIディレクトリー:C:¥inetpub¥scripts
  • バックアップ対象ディレクトリー:
    • C:¥Program Files¥Cybozu¥mysql-5.0¥data
    • C:¥Program Files¥Cybozu¥mysql-5.0¥files
  • バックアップデータの保存先:C:¥backup¥YYYYMMDD
操作手順:
  1. コマンドプロンプトを起動します。

  2. バックアップ先のディレクトリーを作成します。

    mkdir C:¥backup¥YYYYMMDD

  3. スケジューリングサービスを停止します。

    Windowsのスタートメニューから、[管理ツール] > [サービス]を選択し、次のサービスを停止します。

    • Cybozu_Scheduling_Service_cbgrn

  4. スケジューリングサービスが停止していることを確認します。

    1. タスクマネージャーを起動します。
    2. Windowsタスクマネージャーで、[プロセス]のタブをクリックします。
    3. sched.exeが表示されないことを確認します。

  5. Garoonをバックアップモードに設定します。

    cd C:¥inetpub¥scripts¥cbgrn
    .\grn.exe -C -q code¥command¥backupmode_start.csp

  6. データベース管理ユーザーで、mysqldumpを実行します。

    "C:¥Program Files¥Cybozu¥mysql-5.0¥bin¥mysqldump" --defaults-file="C:¥Program Files¥Cybozu¥mysql-5.0¥etc¥my.ini" --all-databases --single-transaction -u cbroot -p >
    C:¥backup¥YYYYMMDD¥full.sql

  7. データベース管理ユーザーのパスワードを入力します。

  8. OSのコマンドを使用して、添付ファイルをバックアップします。

    xcopy "C:¥Program Files¥Cybozu¥mysql-5.0¥files" C:¥backup¥YYYYMMDD¥files /e /i

  9. バックアップモードを解除します。

    cd C:¥inetpub¥scripts¥cbgrn
    .\grn.exe -C -q code¥command¥backupmode_end.csp

  10. スケジューリングサービスを起動します。

    Windowsのスタートメニューから、[管理ツール] > [サービス]を選択し、次のサービスを起動します。

    • Cybozu_Scheduling_Service_cbgrn

  11. Garoonに正常にアクセスできることを確認します。

Linux環境の場合

Linux環境で、mysqldumpを使用してデータをバックアップします。
インストーラーに同梱されているMySQLを使用している場合を例に説明します。

  • インストール識別子:cbgrn
  • CGIディレクトリー:/var/www/cgi-bin
  • バックアップ対象ディレクトリー:
    • /usr/local/cybozu/mysql-5.0/data
    • /usr/local/cybozu/mysql-5.0/files
  • バックアップデータの保存先:/backup/YYYYMMDD
操作手順:
  1. コマンドプロンプトを起動します。

  2. バックアップ先のディレクトリーを作成します。

    mkdir -p /backup/YYYYMMDD

  3. スケジューリングサービスを停止します。

    /etc/init.d/cyss_cbgrn stop

  4. スケジューリングサービスが停止していることを確認します。

    次のコマンドを実行し、スケジューリングサービスが表示されないことを確認します。

    ps -aux | grep cyss

  5. Garoonをバックアップモードに設定します。

    cd /var/www/cgi-bin/cbgrn
    ./grn.cgi -C -q code/command/backupmode_start.csp

  6. データベース管理ユーザーで、mysqldumpを実行します。

    /usr/local/cybozu/mysql-5.0/bin/mysqldump
    --defaults-file=/usr/local/cybozu/mysql-5.0/etc/my.ini
    --all-databases --single-transaction -u cbroot -p >
    /backup/YYYYMMDD/full.sql

  7. データベース管理ユーザーのパスワードを入力します。

  8. OSのコマンドを使用して、添付ファイルをバックアップします。

    cp -rp /usr/local/cybozu/mysql-5.0/files /backup/YYYYMMDD/

  9. バックアップモードを解除します。

    cd /var/www/cgi-bin/cbgrn
    ./grn.cgi -C -q code/command/backupmode_end.csp

  10. スケジューリングサービスを起動します。

    /etc/init.d/cyss_cbgrn start

  11. Garoonに正常にアクセスできることを確認します。