MySQL Database をバックアップするスクリプトの作成

MySQL Database のバックアップに使用するスクリプトを作成できます。バックアップを実行するためにデータベースを停止する必要はありません。MySQL Database をバックアップするには、以下の 2 つのスクリプトを作成します。

実行するスクリプトは、バックアップ ウィザードの[実行前/後スクリプトの設定]にある[MySQL Database]ノードで指定できます。

以下の手順に従います。

  1. root ユーザとしてバックアップ サーバにログインします。
  2. 以下のコードを使用して pre-db-backup-mode.sh スクリプトを作成します。

    #!/bin/bash#

    dbuser=root

    dbpwd=rootpwd

    lock_mysqldb(){  

    (   

      echo "flush tables with read lock;"

      sleep 5

    ) | mysql -u$dbuser -p$dbpwd ${ARGUMENTS} }

    }

    lock_mysqldb &

    PID="/tmp/mysql-plock.$!"

    touch ${PID}

    注: ご使用の MySQL Database で定義されている dbuser および dbpwd 変数の値を指定します。

  1. 以下のコードを使用して post-db-backup-mode.sh スクリプトを作成します。

    #!/bin/bash

    killcids(){

    pid="$1"

    cids=`ps -ef|grep ${pid}|awk '{if('$pid'==$3){print $2}}'`

    for cid in ${cids}

    do

      echo ${cid}
      kill -TERM ${cid}

    done

    echo -e "\n"

    }

    mysql_lock_pid=`ls /tmp/mysql-plock.* | awk -F . '{print $2}'`

    [ "$mysql_lock_pid" != "" ] && killcids ${mysql_lock_pid}

    rm -fr /tmp/mysql-plock.*

  1. 両方のスクリプトに実行権限を付与します。
  2. 両方のスクリプトを以下の場所に配置します。

    /opt/Arcserve/d2dserver/usr/prepost/

  1. Arcserve Unified Data Protection Agent for Linux Web インターフェースにログインします。
  2. バックアップ ウィザードを開いて、[拡張]タブに移動します。
  3. 実行前/後スクリプトの設定]オプションで、[スナップショットの取得前]ドロップダウン リストから pre-db-backup-mode.sh スクリプト ファイルを選択します。
  4. 実行前/後スクリプトの設定]オプションで、[スナップショットの取得後]ドロップダウン リストから post-db-backup-mode.sh スクリプト ファイルを選択します。
  5. バックアップ ジョブをサブミットします。

    バックアップ ジョブがサブミットされます。

MySQL Database をバックアップするスクリプトが作成されました。

注: Arcserve Unified Data Protection Agent for Linux はボリューム レベルのスナップショットをサポートしています。データの整合性を保証するには、データベースのすべてのデータ ファイルが 1 つのボリューム上に存在する必要があります。

このセクションには、以下のトピックが含まれます。