mysql增量备份脚本

#!/bin/bash

BakDir=/home/webdata/mysqlbackup/mysqlbackup_log/

BinDir=/home/mysql/var/

LogFile=/home/webdata/mysqlbackup/mysqlbackup_log/bak.log

BinFile=/home/mysql/var/mysql-bin.index

mysqldump -udearedu -p --lock-tables --flush-logs --master-data=1 vkt > /home/webdata/mysqlbackup/mysqlbackup_log/vkt.backup

####刷新日志,生成新的日志并拷贝到相应目录下

Counter=`wc -l $BinFile |awk '{print $1}'`###计算bin-log索引里面。Binlog日志数量

NextNum=0

for file in cat $BinFile`

do

     base=`basename $file`获取去除./文件名称

     NextNum=`expr $NextNum + 1`

     if [ $NextNum -eq $Counter ] 

       then

           echo $base skip!  >> $LogFile  

       else

           dest=$BakDir/$base

           if(test -e $dest)

              then

                 echo  $base exist! >> $LogFile####跳过最后一个bin_log日志,因为最后一个日志正在记录中

              else

                 cp $BinDir/$base $BakDir

                 echo $base copying >> $LogFile

            fi

      fi

done

/usr/bin/expect<<EOF

###引入expect,用于交互登录,普通shell脚本不能实现交互式,输入密码自动登录mysql

###下面是自动拷贝到备份服务器

set timeout 300;

spawn scp -r $BakDir 192.168.0.90:/sde/50_mysqlbackup

expect "*password:"

send "password\r"

sleep 1

expect 1

expect eof

EOF

 


你可能感兴趣的:(mysql,脚本,增量备份)