使用xtrabackup进行数据库备份周日全量+日增量备份脚本

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了使用xtrabackup进行数据库备份周日全量+日增量备份脚本相关的知识,希望对你有一定的参考价值。

相信很多做运维的小伙伴都会用到mysql数据库,以下提供一个脚本与诸君分享。


#!/bin/bash
SCRIPT_DIR=$(dirname $0)
BACKUP_DIR="/data1/mysqlbackup"
BACKUP_DAYS=480
rm -rf ${BACKUP_DIR}/*
DB_IP=`/sbin/ifconfig -a|grep inet|grep -v 127.0.0.1|grep -v inet6|awk ‘{print $2}‘|tr -d "addr:" |head -1`
BACKUP_TYPE=‘xtra_full‘
for i in `ps -ef |grep port= |grep -v grep|cut -d "=" -f 10`
do 
DB_PORT=$i
NEW_DIR="/data1/mysqlbackup/${DB_PORT}"
if [ -e "$NEW_DIR" ]
 then
    echo  "$NEW_DIR was created"
else
    mkdir $NEW_DIR
fi
BACKUP_TODAY="/data1/mysqlbackup/${DB_PORT}/${DB_IP}_`date +%Y%m%d%H%M`"

#find ${BACKUP_DIR} -mindepth 2 -type d -cmin +${BACKUP_DAYS} -exec rm -rf {} \;

/usr/bin/mysql -h127.0.0.1 -P${DB_PORT} -uroot -e"GRANT RELOAD, LOCK TABLES, REPLICATION CLIENT ON *.* TO ‘mysqlbackup‘@127.0.0.1 IDENTIFIED BY ‘abc123‘"
/usr/bin/mysql -h127.0.0.1 -P${DB_PORT} -uroot -e"grant replication slave on *.* to [email protected]‘10.37.53.%‘ identified by ‘密码‘"
/usr/bin/mysql -h127.0.0.1 -P${DB_PORT} -uroot -e"grant all on *.* to [email protected]‘10.37.53.%‘ identified by ‘密码‘"
/usr/bin/mysql -h127.0.0.1 -P${DB_PORT} -uroot -e"grant all on *.* to [email protected]‘127.0.0.1‘ identified by ‘密码‘"

innobackupex --user=mysqlbackup --password=abc123 --host=127.0.0.1  --port=${DB_PORT}  --defaults-file=/etc/mysql/my${DB_PORT}.cnf --no-timestamp   $BACKUP_TODAY 2>/var/log/mysql${DB_PORT}.log


本文出自 “蜗牛的嘲讽” 博客,转载请与作者联系!

以上是关于使用xtrabackup进行数据库备份周日全量+日增量备份脚本的主要内容,如果未能解决你的问题,请参考以下文章

xtrabackup安装进行全量备份增量备份

xtrabackup

MySQL5.7.18 备份Mysqldump,mysqlpump,xtrabackup,innobackupex 全量,增量备份,数据导入导出

xtrabackup的执行过程

xtrabackup实现全量+增量+binlog恢复库

XtraBackup全量备份与恢复MySQL数据