Previous Topic: 创建备份 Oracle 数据库的脚本Next Topic: 自定义作业排定


创建备份 MySQL 数据库的脚本

您可以创建您用于备份 MySQL 数据库的脚本。您不必停止数据库执行备份。您创建用于备份 MySQL 数据库的以下两个脚本:

您可以指定脚本,以便在备份向导的先行/后继脚本设置中的 MySQL 数据库节点上运行。

请按照下列步骤操作:

  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 数据库中定义的内容指定 dbuserdbpwd 变量的值。

  3. 使用以下代码创建 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.*
    
  4. 为两个脚本提供执行权限。
  5. 将两个脚本放置在以下位置:
    /opt/Arcserve/d2dserver/usr/prepost/
    
  6. 登录 Arcserve UDP Agent (Linux) Web 界面。
  7. 打开备份向导,然后导航到“高级”选项卡。
  8. 在“先行/后继脚本设置”选项中,从“拍取快照前”下拉列表中选择 pre-db-backup-mode.sh 脚本文件。
  9. 在“先行/后继脚本设置”选项中,从“拍取快照后”下拉列表中选择 post-db-backup-mode.sh 脚本文件。
  10. 提交备份作业。

    备份作业已提交。

用于备份 MySQL 数据库的脚本已创建。

注意:Arcserve UDP Agent (Linux) 支持卷级快照。为了确保数据一致性,数据库的所有数据文件必须在一个卷上。