Hello! 欢迎来到小浪云!


干货:MySQL增量备份脚本


1 、线上环境有时候考虑到需要做增量备份数据库,所以写了个简单的脚本

2 、添加自动任务每小时或者更短时间执行就好了

 #!/bin/sh #author RuM #date 2015-07-10 BAKDIR=/tmp/mysqlbak BAKDIR_FULL=$BAKDIR/full BAKDIR_ADD=$BAKDIR/add CONF=/etc/my.cnf passwd=123456 INNOBACKUPEX=/usr/bin/innobackupex 

第一次执行会做一次全备跟增备,以后执行都会是增量备份

 if [ -f "$INNOBACKUPEX" ]      then          if  [ -d "$BAKDIR" ]               then             echo "is ok"               else             mkdir $BAKDIR_FULL -p             mkdir $BAKDIR_ADD -p          fi 

全备

 files=`ls $BAKDIR_FULL`         if [ -z "$files" ]             then                 $INNOBACKUPEX  --defaults-file=$CONF  --user=root --password=$PASSWD  $BAKDIR_FULL                 FULLNAME=$(dir "$BAKDIR_FULL")                 $INNOBACKUPEX  --defaults-file=$CONF  --user=root --password=$PASSWD --incremental-basedir=$BAKDIR_FULL/$FULLNAME/ --incremental $BAKDIR_ADD             else 

增量备份

                 ADDNAME=$(ls -lt $BAKDIR_ADD |sed -n 2p|awk '{print $9}')                 $INNOBACKUPEX  --defaults-file=$CONF  --user=root --password=$PASSWD --incremental-basedir=$BAKDIR_ADD/$ADDNAME/ --incremental $BAKDIR_ADD         fi     else         echo "is not install innobackupex" fi 

相关阅读