#!/bin/env sh
# author:
# description: implement mysql full database backup via percona-xtrabackup
#
##############################################################
###################### percona xtrabackup backup strategy ####
# Sat Sun Mon Tue Wed Thu Fri ####
# full inc inc inc inc inc inc ####
##############################################################
DATE=`date +%F`
WEEK=`date +%a`LOG=xtrabackup_$DATE.log
FULL=/data/mysqlbackup/full
INCR=/data/mysqlbackup/incr
OPTION=/etc/my.cnf
if [ `id -u` -ne 0 ]
then
echo "Must be supper user" >> $LOG
exit 1
fi
case $WEEK in
"Sat")
FDATE=`date +%F`
innobackupex --defaults-file=$OPTION --user=root --password='wx$N#m*g8b' --no-timestamp $FULL/$(FDATE)_full
innobackupex --defaults-file=$OPTION --user=root --password='wx$N#m*g8b' --apply-log $FULL/$(FDATE)_full
;;
"Sun")
innobackupex --defaults-file=/etc/my.cnf --user=root --password='wx$N#m*g8b' --no-timestamp --incremental --incremental-basedir=$FULL/$(FDATE)_full $INCR/$(date +%F)_inc
;;
"Mon")
innobackupex --defaults-file=/etc/my.cnf --user=root --password='wx$N#m*g8b' --no-timestamp --incremental --incremental-basedir=$FULL/$(FDATE)_full $INCR/$(date +%F)_inc
;;
"Tue")
innobackupex --defaults-file=/etc/my.cnf --user=root --password='wx$N#m*g8b' --no-timestamp --incremental --incremental-basedir=$FULL/$(FDATE)_full $INCR/$(date +%F)_inc
;;
"Wed")
innobackupex --defaults-file=/etc/my.cnf --user=root --password='wx$N#m*g8b' --no-timestamp --incremental --incremental-basedir=$FULL/$(FDATE)_full $INCR/$(date +%F)_inc
;;
"Thu")
innobackupex --defaults-file=/etc/my.cnf --user=root --password='wx$N#m*g8b' --no-timestamp --incremental --incremental-basedir=$FULL/$(FDATE)_full $INCR/$(date +%F)_inc
;;
"Fri")
innobackupex --defaults-file=/etc/my.cnf --user=root --password='wx$N#m*g8b' --no-timestamp --incremental --incremental-basedir=$FULL/$(FDATE)_full $INCR/$(date +%F)_inc
;;
*)
echo "It must be wrong, that is no such level backup" >> $LOG
exit 1
;;
esac
[ $? -eq 0 ] && echo "backup ok" >> $LOG || echo "backup bad" >> $LOG
return $?
本文介绍了一种使用Percona XtraBackup实现MySQL全数据库备份的方法,包括备份策略、脚本解析及关键步骤。
8万+

被折叠的 条评论
为什么被折叠?



