写了个简单的备份脚本,内容如下~~
#!/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
#########################