#!/bin/bash
MYSQLUSERNAME=root
MYSQLDBPASSWORD=123456
MYSQLBASEDIR=/home/mysql
MYSQL=$MYSQLBASEDIR/bin/mysql
MYSQLDUMP=$MYSQLBASEDIR/bin/mysqldump
BACKDIR=/root/dbbak
DATEFORMATTYPE1=$(date +%Y-%m-%d)
DATEFORMATTYPE2=$(date +%Y%m%d%H%M%S)
#RCHIVE=`tar -zcf $BACKDIR/${DBNAME}_bak${DATEFORMATTYPE2}.sql`
[ -d $MYSQLBASEDIR ] && MYSQLDATADIR=$MYSQLBASEDIR/data/ || MYSQLDATADIR =/var/lib/mysql
#MYSQLDATADIR=$MYSQLBASEDIR/data/
[ -x $MYSQL ] || MYSQL=mysql
[ -x $MYSQLDUMP ] || MYSQLDUMP=mysqldump
[ -d ${BACKDIR} ] || mkdir -p ${BACKDIR}
[ -d ${BACKDIR}/${DATEFROMATTYPE1} ] || mkdir ${BACKDIR}/${DATEFROMATTYPE1}
#DBLIST= `ls -p $MYSQLDATADIR | grep / | tr -d /`
DBLIST=`ls -p $MYSQLDATADIR | grep / |tr -d /`
for DBNAME in $DBLIST
do
${MYSQLDUMP} -u${MYSQLUSERNAME} -p${MYSQLDBPASSWORD} ${DBNAME} >> $BACKDIR/${DBNAME}_bak${DATEFORMATTYPE2}.sql
cd ${BACKDIR}
tar -zcf ${DBNAME}_bak${DATEFORMATTYPE2}.sql.tar.gz ${DBNAME}_bak${DATEFORMATTYPE2}.sql -C ${BACKDIR} && rm -rf ${DBNAME}_bak${DATEFORMATTYPE2}.sql
[ $? -eq 0 ] && echo "${DBNAME} has been backuped successful" || echo "${DBNAME} has been backup failed"
/bin/sleep 5
转载于:https://www.cnblogs.com/a255/p/7156031.html