MySQL 데이터베이스를 백업하기 위한 스크립트 만들기

MySQL 데이터베이스를 백업하는 데 사용할 스크립트를 만들 수 있습니다. 백업을 수행하기 위해 데이터베이스를 중지하지 않아도 됩니다. MySQL 데이터베이스를 백업하기 위해 다음과 같은 두 스크립트를 만듭니다.

백업 마법사의 사전/사후 스크립트 설정에서 MySQL 데이터베이스 노드에서 실행할 스크립트를 지정할 수 있습니다.

다음 단계를 수행하십시오.

  1. 백업 서버에 루트 사용자로 로그인합니다.
  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}

    참고: dbuserdbpwd 변수의 값을 MySQL 데이터베이스에 정의된 대로 지정하십시오.

  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 UDP 에이전트(Linux) 웹 인터페이스에 로그인합니다.
  2. 백업 마법사를 열고 고급 탭으로 이동합니다.
  3. 사전/사후 스크립트 설정 옵션의 "스냅숏 생성 전" 드롭다운 목록에서 pre-db-backup-mode.sh 스크립트 파일을 선택합니다.
  4. 사전/사후 스크립트 설정 옵션의 "스냅숏 생성 후" 드롭다운 목록에서 post-db-backup-mode.sh 스크립트 파일을 선택합니다.
  5. 백업 작업을 제출합니다.

    백업 작업이 제출됩니다.

MySQL 데이터베이스를 백업하기 위한 스크립트가 만들어집니다.

참고: Arcserve UDP 에이전트(Linux)는 볼륨 수준 스냅숏을 지원합니다. 데이터 일관성을 위해 데이터베이스의 모든 데이터 파일이 하나의 볼륨에 있어야 합니다.