#!/bin/bash #功能說明:本功能用於備份mysql數據庫 #編寫日期:2018/05/17 PATH=/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin:/usr/local/mysql/bin export PATH #數據庫用戶名 dbuser='dbuser' #數據庫密碼 dbpasswd='dbpasswd' #數據庫名,能夠定義多個數據庫,中間以空格隔開,如:test test1 test2 dbname='dbname' #備份時間 backtime=`date +%Y%m%d%H%M%S` #日誌備份路徑 logpath='/opt/mysqlbackup/log' #數據備份路徑 datapath='/opt/mysqlbackup' #日誌記錄頭部 echo ‘」備份時間爲${backtime},備份數據庫表 ${dbname} 開始」 >> ${logpath}/mysqllog.log #正式備份數據庫 for table in $dbname; do source=`mysqldump -u${dbuser} -p${dbpasswd} --single-transaction ${table}> ${datapath}/${backtime}.sql` 2>> ${logpath}/mysqllog.log; #備份成功如下操做 if [ "$?" == 0 ];then cd $datapath #爲節約硬盤空間,將數據庫壓縮 tar jcf ${table}${backtime}.tar.bz2 ${backtime}.sql > /dev/null #刪除原始文件,只留壓縮後文件 rm -f ${datapath}/${backtime}.sql echo 「數據庫表 ${dbname} 備份成功!!」 >> ${logpath}/mysqllog.log else #備份失敗則進行如下操做 echo 「數據庫表 ${dbname} 備份失敗!!」 >> ${logpath}/mysqllog.log fi done