基于Innobackupex的MySQL备份脚本

InnobackupexXtrabackup的一部分,其实质也是调用xtrabackup。主要的不同是Xtrabackup除了支持innodb引擎外还支持xtradb引擎。本文主要封装了Innobackupex到shell脚本进行定期备份,供大家参考。

1、脚本描述
a、支持增量备份以及全备
b、需要传递到备份脚本(如备份路径,连接相关参数等)
c、基于周日,周三的全量备份,其他增量备份
d、可根据需要调整脚本,比如压缩备份的文件夹以及rsync等

2、脚本内容

################################################################################
# File    : innobk.sh                                                        #
# Author  : Leshami                                                          #   
# Blog    :                                       #
# Date    : 20141113                                                          #
# Description :                                                                #
#    The script will call innobackupex to                                      #
#    take a full or increment backup for MySQL db.                            #
#    Currently it will take follow principal to backup:                        #
#      Sun,Wend take full backup.                                            # 
#      Mon,Tue,Thur,Fri,Sat take incremental backup.                          #
#                                                                              #
# Usage Example:                                                              #
#    innobk.sh --help|-?                                                      #
#    innobk.sh --backup-dir=/dbbak --defaults-file=/inst3606/my3606.cnf \    #
#                  --host=127.0.0.1 --port=3606 --user=xxx --password=xxx    #
#                                                                        #
################################################################################
# Change History:                                                              #
# --------------------------------------------------                          #   
# Init Development Leshami  2014-11-13                                    #
################################################################################

#!/bin/bash
#set -x

# Get the key value of input arguments format like '--args=value'.
function get_key_value()
{
    echo "$1" | sed 's/^--[a-zA-Z_-]*=//'
}

# Usage will be helpful when you need to input the valid arguments.
function usage()
{
cat <<EOF
Usage: $0 [configure-options]
  -?, --help                Show this help message.
  --backup-dir=<>          Set backup directory
  --defaults-file=[]        Set mysql configuration file directory
  --host=<>                Set mysql host
  --port=<>                Set mysql port
  --user=<>                Set mysql user name
  --password=<>            Set mysql user password
EOF
}

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/ad182560eb1d58a6a6f4efdd89adfbc5.html