mysql简易冷备脚本

在工作中,经常会遇到需要对mysql数据库进行冷备的业务场景,以下脚本内容特针对冷备定制。

创建备份用户:

mysql> create user backup@'%' identified by 'Tta_eZt7XKr9';
Query OK, 0 rows affected (0.00 sec)
​
mysql> grant all on *.* to backup@'%';
Query OK, 0 rows affected (0.00 sec)

制定备份脚本:

#!/bin/bash
MYSQLUSER=backup
PASSWD='Tta_eZt7XKr9'
BACKUPDIR=/data/mysql/backup/data
BACKUPFILE=mysql_bak_all_`date +%Y%m%d`.sql.gz
DATA_10=mysql_bak_all_`date -d "-10 day" +%Y%m%d`.sql.gz

#判断备份文件存储目录是否存在,否则创建该目录 
if [ ! -d $BACKUPDIR ];then 
mkdir -p "$BACKUPDIR" 
fi 

#备份开始
cd $BACKUPDIR
mysqlpump --parallel-schemas=0 --single-transaction --set-gtid-purged=OFF --add-drop-database -h 192.168.10.32 -u$MYSQLUSER -p$PASSWD -A |gzip > $BACKUPFILE
exit
if [ `date +%d` == '01' ]; then
    echo "$DATA_10 保留每月1号的备份!"
else
    if [ -f $DATA_10 ]; then
        rm -f $DATA_10
        echo `date`: "$DATA_10 is delete!"
    fi  
fi

echo `date`: "mysqlpump is OK!"

猜你喜欢

转载自blog.csdn.net/m0_38004228/article/details/131421237