• mysql innobackup 备份脚本


    mysql 备份 

    1.安装innobackup 备份工具

    2.次备份脚本一周一个全备,六天是增量备份,脚本如下:

     1 #!/bin/bash 
     2 #Every 14 times the backup for a cycle
     3 
     4 format_time=`date +"%Y-%m-%d_%H:%M:%S"` 
     5 week=`date +%w` 
     6 backupbin=/usr/bin/
     7 backdir=/export/mysql_backup
     8 tardir=/export/mysql_backup/beifen
     9 tarback=`date +"%Y-%m-%d"`
    10 file_cnf=/etc/my.cnf
    11 user_name=root
    12 password=123
    13 db="bridge bridgemini xr_wp bridgecharge"
    14 out_log=$backdir/xtrabackup_log
    15 time_cost=$backdir/timecost.txt
    16 tar_cost=$backdir/tarcost.txt
    17 bakdate=`date +"%m-%d"`
    18 num_file=`ls -1 $tardir|wc -l`
    19 ###########################################
    20 #yesterday=`date -d "yesterday" +"%m-%d"` #
    21 #ENDTIME=`date +"%Y-%m-%d %H:%M:%S"`      #
    22 #begin_date=`date -d  "$BEGINTIME" +%s`   #
    23 #end_date=`date -d  "$ENDTIME" +%s`       #
    24 #spendtime=`expr $end_date - $begin_date` #
    25 ###########################################
    26 
    27 if [ ! -d "$backdir" ];then
    28         mkdir -p $backdir
    29 fi
    30 
    31 
    32 if [ ! -d "$tardir" ];then
    33         mkdir -p $tardir
    34 fi
    35 
    36 if [ -f "$tardir/rec7.tar.gz" ];then 
    37         mkdir -p $tardir/$tarback
    38         mv $tardir/*.tar.gz $tardir/$tarback
    39 fi
    40 
    41 
    42 if [ -d "$backdir/rec7" ];then
    43         tar -zcvf    $tardir/backup_$bakdate.tar.gz $backdir/* --exclude beifen
    44         rm -rf $backdir/full $backdir/rec* $backdir/*.txt
    45 fi
    46 if [ $num_file -ge 3 ]; then
    47  rm -r `ls -rt $tardir/*|head -n1`
    48 fi
    49 
    50 
    51 #Full backup 
    52 
    53 if [ ! -d "$backdir/full" ];then
    54         BEGINTIME=`date +"%Y-%m-%d %H:%M:%S"`
    55         echo "##### Full backup at $BEGINTIME start" >> $time_cost
    56         innobackupex --defaults-file=$file_cnf --no-timestamp --user=$user_name --password=$password --socket=/tmp/mysql.sock  $backdir/full 1> $out_log.full_$format_time.txt  2>&1
    57         ENDTIME=`date +"%Y-%m-%d %H:%M:%S"`
    58         echo " It takes full backup at $ENDTIME END" >> $time_cost
    59         begin_date=`date -d  "$BEGINTIME" +%s`
    60         end_date=`date -d  "$ENDTIME" +%s`
    61         spendtime=`expr $end_date - $begin_date`
    62         echo " Run time full backup $spendtime sec " >> $time_cost
    63         `cat $time_cost |mail -s 'mysql backup time' wangshj@quanjing.com`
    64         exit 0
    65 fi
    66 
    67 i=1
    68 while [ ${i} -lt 14 ];do
    69 # The No.$i incremental backup!!
    70 if [ ! -d "$backdir/rec$i" ];then 
    71         BEGINTIME=`date +"%Y-%m-%d %H:%M:%S"`
    72         echo "##### The No.$i incremental backup at $BEGINTIME Start!" >> $time_cost
    73         innobackupex --defaults-file=$file_cnf  --no-timestamp --user=$user_name --password=$password --socket=/tmp/mysql.sock  --incremental  $backdir\/rec$i  --incremental-basedir=$backdir/full 1> $out_log.rec$i.$format_time.txt 2>&1
    74         ENDTIME=`date +"%Y-%m-%d %H:%M:%S"`
    75         echo "It takes rec$i backup at $ENDTIME END!" >> $time_cost
    76         begin_date=`date -d  "$BEGINTIME" +%s`
    77         end_date=`date -d  "$ENDTIME" +%s`
    78         spendtime=`expr $end_date - $begin_date`
    79         echo "Run time  No.$i $spendtime sec! " >> $time_cost
    80         `cat $time_cost |mail -s 'mysql backup time' wangshj@quanjing.com`
    81    exit 0
    82 fi
    83 i=`expr $i + 1`
    84 done
  • 相关阅读:
    Salesforce的数据权限机制
    Java并发编程:Java内存模型和volatile
    Java并发编程:synchronized和锁优化
    权限控制和OAuth
    MySQL explain详解
    ConcurrentHashMap源码阅读
    HashMap源码阅读
    领域驱动设计的基础知识总结
    Chris Richardson微服务翻译:重构单体服务为微服务
    Chris Richardson微服务翻译:微服务部署
  • 原文地址:https://www.cnblogs.com/wangshaojie/p/7132738.html
Copyright © 2020-2023  润新知