写了个简单的备份脚本,内容如下~~

 

#!/bin/bash
###########################

#

#crontab for MysqlBACK-binglog

###########################

#定义时间信息
DATE=$(date +%Y-%m-%d-%H:%M)
#gain system date:2012-12-19-15:55
FILEDATE=$(date +%Y-%m-%d-%H)
#gain system date:2012-12-19-15
BACKDATE=$(date +%Y-%m-%d)
#gain system date:2012-12-19

DIRFILE=/usr/local/back/fullbackup_$DATE.gz
#back file directory 备份目录

ELOG=/var/log/mysqlbak/$BACKDATE.err
#error log directory 错误日志输出

GOODLOG=/var/log/mysqlbak/$BACKDATE.log
#successfully log directory

DIRMYSQL=/usr/local/mysql/bin/mysqldump

#mysql路径

 

#执行备份命令

$DIRMYSQL -u[name] -p[passwd]  --all-databases --lock-all-tables  --routines --triggers --master-data=2 --flush-logs |gzip >$DIRFILE

 

#判断文件是否存在,验证备份是否成功,并输出日志信息
if [ ! -f "$DIRFILE" ]; then
    echo "------------------------">>$ELOG
    echo "$DATE" >>$ELOG
    echo "error:file does not exist!!!" >>$ELOG
    echo "back failed!!!">>$ELOG
else
    FILESIZE=`ls -l -h $DIRFILE|awk '//{print $5}'`
    echo "------------------------">>$GOODLOG
    echo "$DATE" >>$GOODLOG
    echo "File size:$FILESIZE" >>$GOODLOG
    echo "back successfully!!!">>$GOODLOG
fi

#########################

#定义crontab设置
#crontab
#0 0,12 * * *  /root/mysqlfullback.sh
#0 12 * * * /root/mysqlfullback.sh

#########################