MySQL数据库备份脚本(xtrabackup)
发布日期:2021-07-01 04:12:33 浏览次数:2 分类:技术文章

本文共 1630 字,大约阅读时间需要 5 分钟。

前言


由于近期总是想分享点基础性的东西。

下面再分享一个基于xtrabackup的mysql数据库备份脚本,可根据需求更改。

更多xtrabackup常用备份技巧请参考下列链接:

备注:使用了–stream=tar流备份出来的包,解压时要加-i参数(tar -ixf 压缩包)



#!/bin/sh# 此脚本是基于xtrabackup的全量备份,可设计划任务不影响服务时备份source /etc/profile#下列需要根据实际情况更改PORT=3306IP=localhost#此参数为邮件通知的地址,未配置可注释#MAILUSER=XXX.qq.comDBUSER=backupDBPASSWORD='whnf234!@#%#2..5'TODAY=$(date +'%Y-%m-%d')BACKUPDIR=/backup/mysql_$PORT/$TODAYBACKUPFILE=$BACKUPDIR/full.tgzLOGSDIR=/var/backup/mysql_$PORT/logsLOGFILE=$LOGSDIR/mysql.$TODAY.logSOCKETDIR=/tmpSOCKET=$SOCKETDIR/mysql_$PORT.sockCNFDIR=/etc/mysql_$PORTMYCNF=$CNFDIR/my_$PORT.cnftest -d $BACKUPDIR || mkdir -p $BACKUPDIRtest -d $LOGSDIR || mkdir -p $LOGSDIR#设定保留的备份find $(dirname $BACKUPDIR) -maxdepth 1 -type d -mtime +0 -exec rm -rf {} \;find $LOGSDIR -type f -mtime +30 -exec rm -rf {} \;DATADIR=$(mysql -S$SOCKET -u$DBUSER -p$DBPASSWORD -e "SHOW VARIABLES LIKE 'datadir'" | grep 'datadir' | awk '{print $2}')SLOWLOG=$(mysql -S$SOCKET -u$DBUSER -p$DBPASSWORD -e "SHOW VARIABLES LIKE 'slow_query_log_file'" | grep 'slow_query_log_file' | awk '{print $2}')mv ${DATADIR}$SLOWLOG  ${DATADIR}slow.$TODAY.logmysqladmin -S$SOCKET -u$DBUSER -p$DBPASSWORD flush-logs#全备并压缩,下列参数抽时间说明BACKUP="innobackupex --defaults-file=$MYCNF --no-timestamp --no-version-check --parallel=8 --safe-slave-backup --slave-info --user $DBUSER --password $DBPASSWORD  --stream=tar"$BACKUP $BACKUPDIR 2>$LOGFILE | gzip 1>$BACKUPFILEif [ $? -eq 0 ]; then    echo "备份成功" | tee -a $LOGFILE    FAILFLAG=0else    echo "备份失败" | tee -a $LOGFILE    FAILFLAG=1fi#此为邮件发送判断,未配置关闭  #if [ $FAILFLAG -eq 1 ]; then#    cat $LOGFILE | mutt -s "$PORT $IP MySQL数据库备份" $MAILUSER#fi

转载地址:https://moxiao.blog.csdn.net/article/details/89306306 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!

上一篇:(Linux)SVN客户端查看及重置账号密码
下一篇:passwd安全加固脚本分享

发表评论

最新留言

留言是一种美德,欢迎回访!
[***.207.175.100]2024年05月05日 15时48分13秒