您的位置:首页 > 数据库 > MySQL

mysql日志备份脚本

2009-04-18 17:00 295 查看
#!/bin/sh
# Name:mysqlDailyBackup.sh
# PS:MySQL DataBase Daily Backup.
# Write by:i.Stone
# Last Modify:2007-11-17
#
#set -x
scriptsDir=`pwd`
mysqlDir=/usr/local/mysql
dataDir=$mysqlDir/var
user=root
userPWD=123456
dataBackupDir=/bakup
dailyBackupDir=$dataBackupDir/mysqldaily/
eMailFile=$dataBackupDir/email.txt
logFile=/var/log/mysqlbakup.log
HOSTNAME=`uname -n`
#
echo "" > $eMailFile
echo $(date +"%y-%m-%d %H:%M:%S") >> $eMailFile
#
$mysqlDir/bin/mysqladmin -u$user -p$userPWD flush-logs
cd $dataDir
fileList=`cat mysql-bin.index` #日志文件列表
iCounter=0
for file in $fileList
do
iCounter=`expr $iCounter + 1` #统计日志文件数
done
nextNum=0
iFile=0
for file in $fileList
do
binLogName=`basename $file`
nextNum=`expr $nextNum + 1`
if [[ $nextNum == $iCounter ]]; then #如果复制到最后一个文件啦!就结束,不是最后一个就继续执行下面的程序
echo "Skip lastest!" > /dev/null
else
dest=$dailyBackupDir/$binLogName
if [[ -e $dest ]]; then #看备份目录的日志文件是否存在,存在就不备份
echo "Skip exist $binLogName!" > /dev/null
else
cp $binLogName $dailyBackupDir #备份日志文件
if [[ $? == 0 ]]; then
iFile=`expr $iFile + 1`
echo "$binLogName Backup Success!" >> $eMailFile
fi
fi
fi
done
if [[ $iFile == 0 ]];then
echo "No Binlog Backup!" >> $eMailFile
else
echo "Backup $iFile File(s)." >> $eMailFile
echo "Backup MySQL Binlog OK!" >> $eMailFile
# Move Backup Files To Backup Server.
# $scriptsDir/rsyncBackup.sh
# if [[ $? == 0 ]]; then
# echo "Move Backup Files To Backup Server Success!" >> $eMailFile
# else
# echo "Move Backup Files To Backup Server Fail!" >> $eMailFile
# fi
fi
#cat $eMailFile | mail -s "MySQL Backup" $eMail
echo "--------------------------------------------------------" >> $logFile
cat $eMailFile >> $logFile
rm -rf $eMailFile

#同步到另外一台机子(可选)
#rsync -uqzrt --password-file=/etc/swd/dbserver1.pass /bakup/mysqldaily/* dbserver@192.168.3.2::DBadd
#if [ $? -eq 0 ];then
#echo "rsync dbserver1 daily bakup success" >> $logFile
#rm -rf /bakup/mysqldaily/*
#else
#echo "rsync dbserver1 daily bakup error" >> $logFile
#fi
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: