# Author: laizhiyuan
# Date: 20190913
# Desc: Timed online physical backup MySQL 5.6\5.7 By Xtrabackup Tools
# Instructions:
# 1、SSH secret-free login must be configured
# 2、Ensure that all involved directories and files do not exist
# 3、All directories and files do not need to be created manually
# 4、A full backup must be performed before performing an incremental backup
# 5、Make sure Mysql is configured as required by the Xtrabackup document
# 6、Install WGet and Perl commands through yum
#!/bin/bash
# definition var
# 备份目的地IP
BACK_DEST_IP=xx.xx.xx.xx
# 备份目的地端口
BACK_DEST_PORT=22
# 备份目的地用户
BACK_DEST_USER=root
# 备份目的地全量备份目录
BACK_DEST_FULL_DIR=/opt/backup/mysql/physical/full
# 备份目的地增量备份目录
BACK_DEST_INCR_DIR=/opt/backup/mysql/physical/incr
# 本地全量备份目录
BACK_FULL_DIR=/opt/backup/mysql/physical/full
# 本地增量备份目录
BACK_INCR_DIR=/opt/backup/mysql/physical/incr
# 软件备份目录
INSTALL_DIR=/opt/soft
# 工作目录
WORK_DIR=/tmp
# 日志文件
BACK_LOG=/root/.mysql_backup.log
# 增量base记录表
BASE_FULL=/root/.base_full
BASE_INCR=/root/.base_incr
# check execute script parameter
if [ "$1" == "" ];then
echo "You must enter parameters full_backup or incr_backup"
exit 2
fi
# check env func
function check_env(){
yum install perl 'perl(Data::Dumper)' perl-Digest-MD5 -y
if [ ! -d $INSTALL_DIR/xtrabackup ];then
# install xtrabackup
test -d $INSTALL_DIR && cd $INSTALL_DIR || (mkdir -p $INSTALL_DIR && cd $INSTALL_DIR)
wget https://www.percona.com/downloads/Percona-XtraBackup-2.4/Percona-XtraBackup-2.4.9/binary/tarball/percona-xtrabackup-2.4.9-Linux-x86_64.tar.gz
tar -zxvf percona-xtrabackup-8.0.7-Linux-x86_64.libgcrypt145.tar.gz
mv $INSTALL_DIR/percona-xtrabackup-8.0.7-Linux-x86_64.libgcrypt145 $INSTALL_DIR/xtrabackup
fi
export XTRABACKUP_HOME=$INSTALL_DIR/xtrabackup
PATH=$PATH:$XTRABACKUP_HOME/bin
export PATH
}
......完整脚本请添加公众号领取
关注公众号【Java软件编程之家】即可获取完整脚本!