本站所有文章均为原创,如对您有帮助,恳请帮忙点击任何一处广告
  • 首页
  • Shell
  • 【实用脚本】使用xtrabackup实现不落地异地备份

【实用脚本】使用xtrabackup实现不落地异地备份

发布:TangLu2020-6-2 13:45分类: Shell 标签: shell

脚本说明:使用xtrabackup将数据库推送到其他服务器存放,数据库本地不会落盘,节省磁盘空间

#!/bin/bash
USER=dbbackup
PWD=dbbackup123
HOST=192.168.38.53
MYCNF=/etc/my.cnf
PORT=3306
TO_HOST=10.3.0.226
TO_DIR=/data/mysql_bak/

TAG="mysqlfull"
DATE=$(date +%F)
BASEDIR=/data/dbbak3306
BAKFILE=${TAG}_${DATE}_${PORT}.xbstream
LOGFILE=${TAG}_${DATE}.log

##check_backup
ssh $TO_HOST "test -e $TO_DIR/$BAKFILE && echo 'backupfile $BAKFILE exists, check if already had been backuped' && exit 1 ||echo 'backupfile $BAKFILE not exists , begin to backup....'"  >>$BASEDIR/$LOGFILE

## backup+compress+scp
echo "-- Begin mysql xtrabackup backup at $(date +%F\ %T) --" >>$BASEDIR/$LOGFILE
/usr/bin/xtrabackup --defaults-file=$MYCNF --backup --user=$USER --password=$PWD --host=$HOST --port=$PORT --no-timestamp  --stream=xbstream 2>>"$BASEDIR/$LOGFILE"|lz4 -B4|ssh $TO_HOST "cat - >$TO_DIR/$BAKFILE"

if [ $? -eq 0 ]
then
   邮件通知代码
else
   echo "backupfile  compress and scp to $TO_HOST failed" >> $BASEDIR/$LOGFILE
   邮件通知代码
   exit 1
fi

scp $BASEDIR/$LOGFILE $TO_HOST:$TO_DIR  >> $BASEDIR/$LOGFILE

echo "-- End   mysql xtrabackup backup at $(date +%F\ %T) --" >> $BASEDIR/$LOGFILE

温馨提示如有转载或引用以上内容之必要,敬请将本文链接作为出处标注,谢谢合作!
et_highlighter51
版权所有:《Linux运维技术学习站点
文章标题:《【实用脚本】使用xtrabackup实现不落地异地备份
除非注明,文章均为 《Linux运维技术学习站点》 原创
转载请注明本文短网址:http://www.linuxe.cn/post-592.html  [生成短网址]

已有 0/206 人参与

发表评论:

欢迎分享Linux运维技术学习站点

欢迎使用手机扫描访问本站,还可以关注微信哦~