Chinaunix首页 | 论坛 | 博客
  • 博客访问: 37458
  • 博文数量: 5
  • 博客积分: 146
  • 博客等级: 入伍新兵
  • 技术积分: 55
  • 用 户 组: 普通用户
  • 注册时间: 2007-10-07 22:56
文章分类

全部博文(5)

文章存档

2011年(1)

2010年(2)

2008年(1)

2007年(1)

我的朋友
最近访客

分类:

2011-07-19 13:41:09

原文地址:mysql备份脚本 作者:liyf0371

#!/bin/sh
# data backup by Jason
# by scud
# 2008-01-23
#
# use mysqldump
#
BakDir=/backup/mysql
LogFile=/backup/mysql/mysqlbak.log
DATE=`date +%Y%m%d`
echo " " >> $LogFile
echo " " >> $LogFile
echo "-------------------------------------------" >> $LogFile
echo $(date +"%y-%m-%d %H:%M:%S") >> $LogFile
echo "--------------------------" >> $LogFile
cd $BakDir
DumpFile=$DATE.sql
GZDumpFile=$DATE.sql.tgz
mysqldump --quick --all-databases --flush-logs
--delete-master-logs --lock-all-tables -Q -e -f > $DumpFile
echo "Dump Done" >> $LogFile
tar czvf $GZDumpFile $DumpFile >> $LogFile 2>&1
echo "[$GZDumpFile]Backup Success!" >> $LogFile
rm -f $DumpFile
cd $BakDir/daily
rm -f *
cd $BakDir
echo "Backup Done!"
echo "please Check $BakDir Directory!"
echo "copy it to your local disk or ftp to somewhere !!!"
ls -al $BakDir >> $LogFile
echo "-----------------close----------" >> $LogFile
echo $(date +"%y-%m-%d %H:%M:%S") >> $LogFile
echo "----------------------close----" >> $LogFile
#增量使用以下脚本
#!/bin/sh
#
# mysql binlog backup by Jason
#
/usr/local/mysql/bin/mysqladmin flush-logs
DATADIR=/usr/local/mysql/data
BAKDIR=/backup/mysql/daily
HOSTNAME=`uname -n`
cd $DATADIR
FILELIST=`cat $HOSTNAME-bin.index`
COUNTER=0
for file in $FILELIST
do
COUNTER=`expr $COUNTER + 1 `
done
NextNum=0
for file in $FILELIST
do
base=`basename $file`
NextNum=`expr $NextNum + 1`
if [ $NextNum -eq $COUNTER ]
then
echo "skip lastest"
else
dest=$BAKDIR/$base
if(test -e $dest)
then
echo "skip exist $base"
else
echo "copying $base"
cp $base $BAKDIR
fi
fi
done
echo "backup mysql binlog ok"
阅读(1024) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~