合格linux運維人員必會的30道shell編程實踐題及講解-09

企業實踐題9:如何實現對MySQL數據庫進行分庫加分表備份,請用腳本實現mysql

個人腳本=======================sql

#!/bin/bash
BAKPATH=/server/backup
MYUSER=root
MYPASS=oldboy123
SOCKET=/data/3306/mysql.sock
MYCMD="mysql -u$MYUSER -p$MYPASS -S$SOCKET"
MYDUMP="mysqldump -u$MYUSER -p$MYPASS -S$SOCKET -x -F -R"
[ ! -d $BAKPATH ] && mkdir -p $BAKPATH
DBLIST=`$MYCMD -e "show databases;"|sec 1d |egrep -v "_schema|mysql"`
for dbname in $DBLIST
do
  TLIST=`$MYCMD -e "show tables from $dbname;"|sed 1d`
  for tname in $TLIST
  do
    mkdir -p $BACKPATH/$dbname
    $MYDUMP ${dbname} ${tname}|gzip > ${BAKPATH}/${dbname}/${tname}_$(date +%F).sql.gz
  done
done
相關文章
相關標籤/搜索