Innobackupex是Xtrabackup的一部分,其实质也是调用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
}