#!/bin/bash
# This is mysql mysqlfullbak scripts
user=(你的数据库账号)
passwd=(你的数据库密码)格式如下
#passwd=1232313
databak_dir=/home/usr/share/DBBAK #你的备份目录,文件所在位置
eMailFile=$databak_dir/email.log
eMail=test@qq.com #你的邮箱
DATE=`date +%Y%m%d%H%M`
logFile=$databak_dir/logs/mysql$DATE.log
database=test #需要备份的数据库名称
echo " " > $eMailFile
echo "---------------------------------" >> $eMailFile
echo $(date +"%y-%m-%d %H:%M:%S") >> $eMailFile
cd $databak_dir
dumpFile=$database$DATE.sql
GZDumpFile=$database$DATE.tar.gz
#下面参数中的-h是你当前备份的服务器ip,或者其他ip上的库
options="-u$user -p$passwd -h127.0.0.1 --opt --extended-insert=false --triggers=false -R --hex-blob --flush-logs --delete-master-logs -B $database"
mysqldump $options > $dumpFile #导出数据文件
if [[ $? == 0 ]]; then
tar cvzf $GZDumpFile $dumpFile >> $eMailFile 2>&1
echo "BackupFileName:$GZDumpFile" >> $eMailFile
echo "DataBase Backup Success" >> $eMailFile
mail -s " DataBase Backup Success" $eMail < $eMailFile""
else
echo "DataBase Backup Fail!" >> $eMailFile
mail -s " DataBase Backup Fail " $eMail < $eMailFile #如果备份不成功发送邮件通知
fi
cd $databak_dir/logs
touch $logFile
echo "--------------------------------------------------------" >> $logFile
cat $eMailFile >> $logFile
find /home/usr/share/DBBAK -mtime +15 -type f -exec rm -rf {} \; #删除该目录下N天以上的文件
上面代码中还需要在DBBAK目录下面建立一个logs文件夹目录,不然输出日志时,cd $databak_dir/logs 无法找到这个目录存放