#!/bin/bash

#backup mysql binlog script
PATH=/usr/local/mysql/bin:$PATH
#BACKDIR=/home/mysql/binlog/$(date +"%Y-%m-%d")/$(date +"%H:%M")/
BACKDIR=/opt/hywx/binlog/$(date +"%Y-%m-%d")/
#BACKDIR=/home/mysql/binlog/
BACKLOG=/opt/hywx/binlog/binlog.log
echo "" >> $BACKLOG
echo "" >> $BACKLOG
echo "---------+++++++++++++++++++-----------" >> $BACKLOG
echo "binlog backup begin" >> $BACKLOG
echo "-------------------------------------" >> $BACKLOG
echo "$(date +"%Y-%m-%d +%H:%M:%S")" >> $BACKLOG
echo "-------------------------------------------" >> $BACKLOG
/usr/local/mysql/bin/mysqladmin -u root -pcwaimy flush-logs
 
if [ -d $BACKDIR ]
  then
:
  else
mkdir -p $BACKDIR
fi
 
FILELIST=$(cat /opt/var/lib/mysql/mysql-bin.index)
 
COUNTER=0
for file in $FILELIST
  do
COUNTER=$[$COUNTER+1]
  done
 
echo "backupfile counter is $COUNTER " >> $BACKLOG
 
cd /opt/var/lib/mysql/
NextNum=0
for file in $FILELIST
  do 
base=$(basename $file)
NextNum=$[$NextNum+1]
if [ $NextNum -eq $COUNTER ]
 then
echo "skip lastest" >> $BACKLOG
 else
dest=$BACKDIR/$base
if ( test -e $dest )
          then
echo "skip exist $base" >> $BACKLOG
  else
echo "copying $base" >> $BACKLOG
cp $base $BACKDIR
fi
fi
  done
 
 
echo "backup mysql binlog ok " >> $BACKLOG
echo "$(date +"%Y-%m-%d +%H:%M:%S")" >> $BACKLOG
echo "------------------------------------" >> $BACKLOG
echo "+++++++++++++++++++++++++++++++++++++++++" >> $BACKLOG