首页 > 技术文章 > MySQL数据库分库备份脚本

struggle-1216 2020-03-24 17:01 原文

#!/bin/bash
BACK_TIME=`date +"%F-%H":%M:%S`  # 备份脚本时间戳,也可以使用${date +"%F-%H":%M:%S}
USER=root
PASS=centos
DATABASE=`mysql -u$USER  -p$PASS -e 'show databases' | grep -Ev '^(Database|information_schema|performance_schema)$'` # 将除了那些固定的数据库之外的进行备份。
for db in $DATABASE;do
      MYDIR=/data/backup/$db_${BACK_TIME}
      [ ! -d $MYDIR ] && mkdir -p ${MYDIR} # 判断目录不存在为真,就创建备份目录。注意:如果去掉!,就是存在为真了
           mysqldump  -u$USER -p$PASS  -B $db  |gzip > $MYDIR/${db}_$BACK_TIME.sql.gz
done

  

推荐阅读