#!/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