使用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进行数据库备份周日全量+日增量备份脚本的主要内容,如果未能解决你的问题,请参考以下文章
MySQL5.7.18 备份Mysqldump,mysqlpump,xtrabackup,innobackupex 全量,增量备份,数据导入导出