mysql 分库分表备份,mysql分库分表备份脚本

#!/bin/sh

#######################################################

#ShellName:mysql database and tables backup

#Author:zkg

#Created Time:2019-08-26

#Blog Address:https://blog.51cto.com/1009516

#######################################################

#调用系统函数库

. /etc/init.d/functions

#Define variables

BACKUPDIR=/data/mysqlbak/

MYSQLUSER=root

MYSQLPASSWD=DbApp

MYSQLSOCK=/data/mysql/tmp/mysql.sock

MYSQLCMD="/data/mysql/bin/mysql -u$MYSQLUSER -p$MYSQLPASSWD -S $MYSQLSOCK"

MYSQLDUMP="/data/mysql/bin/mysqldump -u$MYSQLUSER -p$MYSQLPASSWD -S $MYSQLSOCK -x -F -R"

DATABASELIST="$MYSQLCMD -e "show databases;"|sed 1d|egrep -v "information_schema|bin|innodb|mysql|soc""

for DBNAME in $DATABASELIST

do

if [ ! -d $BACKUPDIR/$DBNAME ];then

mkdir -p $BACKUPDIR/$DBNAME && \

action "Create a backup directory successfully and start backing up the database" /bin/true

else

action "The backup directory already exists. Start backing up the database." /bin/true &>/dev/null

fi

echo -e "\033[32mstarting backup $DBNAME databases\033[0m"

$MYSQLDUMP $DBNAME|gzip > $BACKUPDIR/$DBNAME/${DBNAME}$(date +%F%H%M%S).gz

RETVAL=$?

if [ $RETVAL -eq 0 ];then

action "$DBNAME database Successful backup" /bin/true

else

action "$DBNAME database failed backup" /bin/false

continue

fi

echo "starting backup tables from $DBNAME"

TABLELIST="$MYSQLCMD -e "show tables from $DBNAME"|sed 1d"

for TABLENAME in $TABLELIST

do

$MYSQLDUMP $DBNAME $TABLENAME|gzip > $BACKUPDIR/$DBNAME/${DBNAME}${TABLENAME}_$(date +%F%H%M%S).gz

RETVAL=$?

if [ $RETVAL -eq 0 ];then

action "$TABLENAME table Successful backup" /bin/true

else

action "$TABLENAME table failed backup" /bin/false

continue

fi

done

done

标签:bin,分库,database,TABLENAME,mysql,分表,backup,DBNAME

来源: https://blog.51cto.com/1009516/2432524

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值