innobackupex备份脚本

#!/bin/bash

# 10 23 * * * /bin/bash /data/script/backup.sh

BDATE=`date +%Y%m%d%H%M%S`
BPATH=/data/backup
BFILE=${BPATH}/`hostname`_fullbak_${BDATE}.xbstream.gz
LOGFILE=${BPATH}/log/`hostname`_fullbak_${BDATE}.log
ORI_CONF_FILE=/etc/my.cnf
BAK_CONF_FILE=${BPATH}/my_`date +%Y%m%d%H%M%S`.cnf
BAKCMD="/usr/bin/innobackupex --defaults-file=${ORI_CONF_FILE} --user=root --password=PASSWD --slave-info --stream=xbstream --parallel=2 /tmp"


echo > ${LOGFILE}

echo -e "===== Backup Job start at `date +%Y-%m-%d' '%T`=====\n" >> ${LOGFILE}
echo -e "===== Fist cp my.cnf to backup directory ${BPATH} ===\n" >> ${LOGFILE}
/bin/cp ${ORI_CONF_FILE} ${BAK_CONF_FILE}
echo >> ${LOGFILE}


echo -e "**** Executed command: ${BAKCMD} |gzip > ${BFILE}" >> ${LOGFILE}
${BAKCMD} 2>> ${LOGFILE} |gzip > ${BFILE}

echo -e "*** Execute finished at `date +%Y-%m-%d' '%T` =====">>${LOGFILE}
echo -e "*** Backup file size: `du -sh ${BFILE}` =======\n">>${LOGFILE}


echo -e "----- clear expired backup and delete those files ------" >> ${LOGFILE}

for tfile in $(/usr/bin/find $BPATH/ -mtime +3)
do
if [ -d $tfile ];then
rmdir $tfile
elif [ -f $tfile ];then
rm -f $tfile
fi

echo -e "---- Delete backup file: $tfile ------" >> ${LOGFILE}

done

echo -e "\n====== Backup Jobs end at `date +%F' '%T' '%w` =====\n">> ${LOGFILE}

 

 

 

 

恢复过程:

xbstream -x < ynhw-mysql-slave.01.mysql.prod.sg_fullbak_20180326134255.xbstream -C /data/mysql

cd /data/
chown -R mysql:mysql mysql

然后查看 /data/mysql/xtrabackup_slave_info 文件,已经写好了如下语句:
CHANGE MASTER TO MASTER_LOG_FILE='mysql-bin.000038', MASTER_LOG_POS=211245137

 

转载于:https://www.cnblogs.com/liang545621/p/9420433.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值