mysql xtrabackup增量备份

 mysql 增量备份策略 周一全备,其他增量备份,根据业务需要,设定保留日期,如保留一月。

增量备份步骤;

         1 创建全备

          2 根据全备目录,创建增量备份

          3 第二次增量备份根据第一次增量备份目录,依次类推

下面是今天写的增量备份脚本,先在自己的测试机上跑几天。

#!/bin/sh
begintime=`date +"%Y-%m-%d %H:%M:%S"`
format_time=`date +"%Y-%m-%d_%H:%M:%S"`
week=`date +%w`
port=3306
#ip=
backdir=/backup
file_cnf=/etc/my.cnf
user_name=root
passwd=
out_log=$datadir/xtraback_log_$format_time
time_cost=$backdir/xtraback_time.txt
if [ ! -d "$backdir" ]; then
     mkdir -p $backdir
fi
if [ -d "$backdir/rec5" ];then
           rm -rf $backdir-bak
           mv $backdir $backdir-bak
           mkdir $backdir
fi

#full backup
if [ ! -d "$backdir/full" ];then
    echo "#####start full backup at $begintime to directory full" >>$time_cost
    innobackupex --defaults-file=$file_cnf --no-lock --no-timestamp --user=$user_name --port=3306 $backdir/full 1>$out_log-full 2>&1
    tar -zcvf $backdir/full.tar.gz $backdir/full
    break;
    elif [ ! -d "$backdir/rec0" ];then
    echo "######start 0 incremental backup at $begintime to directory rec0" >>$time_cost
    innobackupex --default-file=$file_cnf --no-lock --no-timestamp --user=$user_name --port=$port --incremental --incremental-basedir=$backdir/full $backdir/rec0 1> $out_log-rec0 2>&1
    break;
    elif [ ! -d "$backdir/rec1" ];then
     echo "#######start 1 incremental backup at $begintime to directory rec1" >>$time_cost
     innobackupex --defaults-file=$file_cnf --no-lock --no-timestamp --user=$user_name --port=port --incremental --incremental-basedir=$backdir/full $backdir/rec1 1>$out_log-rec1 2>&1
     break;
     elif [ ! -d "$backdir/rec2" ]; then
     echo "######start 2 incremental backup at $begintime to directory rec2" >>$time_cost
     innobackupex --defaults-file=$file_cnf --no-lock --no-timestamp --user=$user_name --port=port --incremental --incremental-basedir=$backdir/rec1 $backdir/rec2 1> $out_log-rec2 2>&1
     break;
     elif [ ! -d "$backdir/rec3" ]; then
     echo "#######start 3 incremental backup at $begintime to directory rec3" >$time_cost
     innobackupex --defaults-file=$file_cnf --no-lock --no-timestamp --user=root --port=port --incremental --incremental-basedir=$/backdir/rec2 $backdir/rec3 1> $out_log-rec3 2>&1
     break;
     elif [! -d "$backdir/rec4" ];then
     echo "########start 4 incremental backup at $begintime to directory rec4" >>$time_cost
     innobackupex --defaults-file=$file_cnf --no-lock --no-timestamp --user=root --port=port --incremental --incremental-basedir=$backdir/rec4 1> $out_log-rec4 2>&1
     break;
     elif [ ! -d "$backdir/rec5" ];then
      echo "#######start 5 incremental backup at $begintime to directory rec5" >>$time_cost \
      innobackupex --defaults-file=$file_cnf --no-lock --no-timestamp --user=$user_name --port=port --incremental --incremental-basedir=$backdir/rec4 $backdir/rec5 1> $out_log-rec5 2>&1
      break;
    fi

还原步骤

        1 关闭实例

        2 应用日志,如有增量,先恢复全备,然后再逐个恢复增量日志

        3 copy数据到目录

        4 修改数据文件权限,chown、chmod

        5 启动


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值