#!/bin/bash

# 10 23 * * * /bin/bash /data/script/backup.sh

BDATE=`date +%Y%m%d%H%M%S`
BPATH=/data/backup
BFILE=${BPATH}/`hostname`_fullbak_${BDATE}.xbstream.gz
LOGFILE=${BPATH}/log/`hostname`_fullbak_${BDATE}.log
ORI_CONF_FILE=/etc/my.cnf
BAK_CONF_FILE=${BPATH}/my_`date +%Y%m%d%H%M%S`.cnf
BAKCMD="/usr/bin/innobackupex --defaults-file=${ORI_CONF_FILE} --user=root --password=PASSWD --slave-info --stream=xbstream --parallel=2 /tmp"

echo > ${LOGFILE}

echo -e "===== Backup Job start at `date +%Y-%m-%d' '%T`=====\n" >> ${LOGFILE}
echo -e "===== Fist cp my.cnf to backup directory ${BPATH} ===\n" >> ${LOGFILE}
/bin/cp ${ORI_CONF_FILE} ${BAK_CONF_FILE}
echo >> ${LOGFILE}

echo -e "**** Executed command: ${BAKCMD} |gzip > ${BFILE}" >> ${LOGFILE}
${BAKCMD} 2>> ${LOGFILE} |gzip > ${BFILE}

echo -e "*** Execute finished at `date +%Y-%m-%d' '%T` =====">>${LOGFILE}
echo -e "*** Backup file size: `du -sh ${BFILE}` =======\n">>${LOGFILE}

echo -e "----- clear expired backup and delete those files ------" >> ${LOGFILE}

for tfile in $(/usr/bin/find $BPATH/ -mtime +3)
do
if [ -d $tfile ];then
rmdir $tfile
elif [ -f $tfile ];then
rm -f $tfile
fi

echo -e "---- Delete backup file: $tfile ------" >> ${LOGFILE}

done

echo -e "\n====== Backup Jobs end at `date +%F' '%T' '%w` =====\n">> ${LOGFILE}

恢复过程:

xbstream -x < ynhw-mysql-slave.01.mysql.prod.sg_fullbak_20180326134255.xbstream -C /data/mysql

cd /data/
chown -R mysql:mysql mysql

然后查看 /data/mysql/xtrabackup_slave_info 文件,已经写好了如下语句:
CHANGE MASTER TO MASTER_LOG_FILE='mysql-bin.000038', MASTER_LOG_POS=211245137

innobackupex备份脚本的更多相关文章

  1. centos shell编程6一些工作中实践脚本 nagios监控脚本 自定义zabbix脚本 mysql备份脚本 zabbix错误日志 直接送给bc做计算 gzip innobackupex/Xtrabackup 第四十节课

    centos   shell编程6一些工作中实践脚本   nagios监控脚本 自定义zabbix脚本 mysql备份脚本 zabbix错误日志  直接送给bc做计算  gzip  innobacku ...

  2. 实战:INNOBACKUPEX for mysql 5.6自己主动备份脚本

    #backup.sh #!/bin/sh # # 第一次运行它的时候它会检查是否有全然备份,否则先创建一个全库备份 # 当你再次执行它的时候.它会依据脚本中的设定来基于之前的全库备份进行增量备份 #o ...

  3. Mysql备份系列(3)--innobackupex备份mysql大数据(全量+增量)操作记录

    在日常的linux运维工作中,大数据量备份与还原,始终是个难点.关于mysql的备份和恢复,比较传统的是用mysqldump工具,今天这里推荐另一个备份工具innobackupex.innobacku ...

  4. Xtrabackup之innobackupex备份恢复详解(转)

    add by zhj:对于Xtrabackup2.2来说,已经解决了本文结尾提到的那个bug,当使用--copy-back时,同时加--force-non-empty-directories 即可.这 ...

  5. Xtrabackup每周增量备份脚本程序

    Xtrabackup每周增量备份脚本程序(含附件)   程序描述 本程序是一个对percona xtrabackup使用的脚本,它完成了MySQL每周的备份. 程序结构 此程序包含了4个目录(bin. ...

  6. MySQL XtraBackup备份脚本

     #backup.sh #!/bin/sh #on xtrabackup 2.1.8 # 第一次执行它的时候它会检查是否有完全备份,否则先创建一个全库备份 # 当你再次运行它的时候,它会根据脚本中的设 ...

  7. innobackupex 备份 Xtrabackup 增量备份

    Mysql增量备份Xtrabackup中包含两个工具:•        xtrabackup - 用于热备份innodb, xtradb表的工具,不能备份其他表(MYISAM表).•        i ...

  8. Mysqldump备份说明及数据库备份脚本分享-运维笔记

    MySQLdump是MySQL自带的导出数据工具,即mysql数据库中备份工具,用于将MySQL服务器中的数据库以标准的sql语言的方式导出,并保存到文件中.Mysqldump是一个客户端逻辑备份的工 ...

  9. 为什么还原innobackupex备份后查看到的Executed_Gtid_Set与xtrabackup_binlog_info不一致

    基本环境:官方社区版MySQL 5.7.19,innobackupex version 2.4.8 一.什么不一致 1.1.不一致 首先使用下面脚本来构建Executed_Gtid_Set与xtrab ...

随机推荐

  1. Environment Perception: 3D Truss Environment Mapping and Parametric Expression Extraction

    Experiments Preparation roscore rosrun pcl_ros pcd_to_pointcloud ~/.ros/wh2_lg707070_1ms0.01_filtere ...

  2. ubuntu 安装 mysql 5.7 简记

    安装: apt-get install mysql-server 会安装最新版本的 mysql ,安装时会提示输入 root 的密码 进入 mysql: mysql -u root -p 进入后会出现 ...

  3. 倍增lca-ZJOI2012 灾难

    一个食物网有N个点,代表N种生物,如果生物x可以吃生物y,那么从y向x连一个有向边.这个图没有环.图中有一些点没有连出边,这些点代表的生物都是生产者,可以通过光合作用来生存: 而有连出边的点代表的都是 ...

  4. 清北刷题冲刺 10-31 p.m

    数列 #include<iostream> #include<cstdio> using namespace std; long long a,b,ans; void f(lo ...

  5. 查询缓存及索引:MySQL系列之九

    一.MySQL的架构 连接器 连接池,安全认证.线程池.连接限制.检查内存.缓存 SQL接口 DML.DDL SQL解析器,对SQL语句的权限检查.解析为二进制程序 优化器,优化访问路径 缓存cach ...

  6. thinkphp5文件上传问题

    tp5中文件上传如果没有数据就会报错,所以要先做一个判断 //先接收文件数据 $isfile=$_FILES;//判断是否上传图片数据,如果没有上传数据二位数组中的name会为空,如下例:if($is ...

  7. java中静态代码块的用法 static用法详解和static静态导入

    (一)java 静态代码块 静态方法区别一般情况下,如果有些代码必须在项目启动的时候就执行的时候,需要使用静态代码块,这种代码是主动执行的;需要在项目启动的时候就初始化,在不创建对象的情况下,其他程序 ...

  8. nginx大量TIME_WAIT的解决办法

    1.netstat -n | awk '/^tcp/ {++S[$NF]} END {for(a in S) print a, S[a]}' 查看time_wait 很大 2.解决此问题需要对sysc ...

  9. C# DataTable转List<T>--利用反射

    /// <summary> /// 利用反射将Datatable转换为List<T>对象 /// </summary> /// <typeparam name ...

  10. t.call is not a function

    js 写错了... 代码: $("form").each({$(this).submit(function(){return false;})}); 丢了一个 function() ...