#!/bin/sh
USER="root"
#DB用戶名
PASSWORD="pwd"
#DB密碼
DATABASE="test"
#DB數據庫名
WEBMASTER=
yangfei_luck@163.com
#錯誤發送郵箱
BACKUP_DIR="/export/home/wwwroot/webapps/testScripting/Data_backup"
#備份文件存放目錄
LOGFILE="/export/home/wwwroot/webapps/testScripting/Data_backup/data_backup.log"
#備份日誌文件
DATE=`date +%Y%m%d-%H%M`
#當前年月日時分
DUMPFILE=$DATE.sql
#當前年月日時分做備份文件名
ARCHIVE=$DATE.sql.tgz
#壓縮包名
OPTIONS="-u$USER -p$PASSWORD --opt --extended-insert=false --triggers --routines --hex-blob $DATABASE"
#備份操做
#判斷備份目錄是否存在,若是不存在則建立一個
if [ ! -d $BACKUP_DIR ] ;
then
mkdir -p "$BACKUP_DIR"
fi
echo ----------------------------------------- >> $LOGFILE
echo BACKUP DATE: `date +%Y-%m-%d-%H:%M:%S` >> $LOGFILE
echo Backup Process Begin >> $LOGFILE
#更換目錄
cd $BACKUP_DIR
#執行備份操做
mysqldump $OPTIONS > $DUMPFILE
#判斷備份是否成功
if [[ $? == 0 ]]; then
#建立備份文件壓縮包
tar czvf $ARCHIVE $DUMPFILE >> $LOGFILE 2>&1
echo [$ARCHIVE] Backup Successful! >> $LOGFILE
#刪除原備份文件,只留壓縮包
rm -f $DUMPFILE
#備份失敗,發送錯誤消息到郵箱(須要mailutils或者相似終端下發送郵件工具的支持)
else
echo 「Database Backup Fail!」 >> $LOGFILE
#mail -s 「Database:$DATABASE Daily Backup Fail」 $WEBMASTER
fi
echo Backup Process End >> $LOGFILE
echo 「Backup Process Done」
echo ----------------------------------------- >> $LOGFILE