Home > Database > Mysql Tutorial > MYSQL二进制日志管理脚本_MySQL

MYSQL二进制日志管理脚本_MySQL

WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWB
Release: 2016-06-01 13:42:14
Original
1058 people have browsed it

bitsCN.com
MYSQL二进制日志管理脚本 脚本原理是每小时对数据库进行flush生成新的二进制日志,将二进制日志备份至NFS,并压缩存放: #!/bin/bash#Purpose:管理mysql二进制日志,每小时刷新二进制日志,并将日志复制到nfs服务器上,方便以后恢复和问题分析!#Author:carl_zhang#Date:   #some variables 一些参数#定义数据库的相关信息USERNAME=rootPASSWORD=zhang@123HOSTIP=localhostMYSQL=/usr/local/mysql/bin/mysql #设置二进制日志的路径BIN_LOG_DIR=/data/dbdata#设置二进制日志备份的路径BIN_LOG_BACKUP_DIR=/data/binlog_backup#定义一个常量来跳过最后一个日志文件COUNT=0#定义一个日志文件LOGFILE=/data/binlog_backup/binlog_backup.log#找出二进制日志的名称前缀BINLOG_PREFIX=`grep "log-bin=" /etc/my.cnf | awk -F'=' '{print $2}'`#比较二进制日志文件列表和已备份的二进制文件列表if [ ! -f "$BIN_LOG_BACKUP_DIR/backup.file" ];thentouch $BIN_LOG_BACKUP_DIR/backup.filefi#运行文件比较之前先执行一下flush logs$MYSQL -u$USERNAME -p$PASSWORD -h$HOSTIP -e "flush logs"FILE_LIST=`comm -23 $BIN_LOG_DIR/$BINLOG_PREFIX.index $BIN_LOG_BACKUP_DIR/backup.file`#统计日志文件的个数FILE_COUNT=`comm -23 $BIN_LOG_DIR/$BINLOG_PREFIX.index $BIN_LOG_BACKUP_DIR/backup.file|wc -l` #程序正文#开始备份二进制日志文件for file in $FILE_LISTdoBINLOG_NAME=`basename $file`let COUNT=$COUNT+1if [ $COUNT -eq $FILE_COUNT ];then#跳过最新的那个二进制日志文件echo "skip the lastest binlog file" >> $LOGFILEelsecp $BIN_LOG_DIR/$BINLOG_NAME $BIN_LOG_BACKUP_DIR/if [ $? -eq 0 ];thenecho "`date -d "today" +%Y-%m-%d-%H-%M-%S` $BINLOG_NAME backup success" >> $LOGFILEelseecho "`date -d "today" +%Y-%m-%d-%H-%M-%S` $BINLOG_NAME backup faild, Please check it out" >> $LOGFILE    exit 5fi#对二进制日志进行压缩存放gzip $BIN_LOG_BACKUP_DIR/$BINLOG_NAMEif [ $? -eq 0 ];thenecho "`date -d "today" +%Y-%m-%d-%H-%M-%S` $BINLOG_NAME gzip success" >> $LOGFILEelseecho "`date -d "today" +%Y-%m-%d-%H-%M-%S` $BINLOG_NAME gzip faild, Please check it out" >> $LOGFILEexit 5fiecho ./$BINLOG_NAME >> $BIN_LOG_BACKUP_DIR/backup.filefidone   作者 飞鸿无痕 bitsCN.com

Related labels:
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template