#!/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
转载于:https://blog.51cto.com/zhangfang2012/1108604