Heim > Datenbank > MySQL-Tutorial > MYSQL二进制日志管理脚本_MySQL

MYSQL二进制日志管理脚本_MySQL

WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWB
Freigeben: 2016-06-01 13:42:14
Original
1058 Leute haben es durchsucht

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

Verwandte Etiketten:
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage