shell脚本实战之mysql-物理备份实现周内备份策略

一.shell脚本要求

# 数据库备份脚本方式: 物理备份# 工具:xtrabackup过程# 需求1:不允许有任何的安在脚本中,# 需求2:在脚本中,不允许有任何的交互式代码容,使用日志记录# 需求3:在脚本中,不允许有任何输出# 需求4:每周为一个循环周期,1全备、2增量、3增量、4差异、5增量、6增量、7差异,# 自动检测执行报错,邮件告敬#下载工具yum -y install percona-xtrabackup-24.x86_64

二.环境

1.备份的主机上需要自己手动安装xtrabackup工具

        安装xtrabackup

#下载xtrabackup的yum源
wget http://www.percona.com/downloads/percona-release/redhat/0.1-4/percona-release-0.1-4.noarch.rpm
  rpm -ivh percona-release-0.1-4.noarch.rpm
#打开xtrabackup的yum源 
vim percona-release.repo

#2.下载xtrabackup 工具
yum -y install percona-xtrabackup-24.x86_64

 三.脚本实施

vim mysqlbaup.sh
#/bin/bash
#时间同步
ntpdate ntp.aliyun.com >>/dev/nulluser=rootpassword="Qianfeng@123"timestamp=$(date +"%Y-%m-%d_%H-%M-%S")  #从放备份日志 /xtrabackup/xtrabackup-timestamp.log#备份目录
mkdir -p  /xtrabackup/z{1..7} &>>/dev/null#周一完全 #z1() {# touch /xtrabackup/xtrabackup.log >>/dev/nullinnobackupex --user=$user --password=$password /xtrabackup/z1 &>> /xtrabackup/xtrabackup-$timestamp.logz1=`ls -t /xtrabackup/z1/ | awk  'NR==1 {print $1}'` &>>/dev/null}#周二 增量z2() {innobackupex --user=$user --password=$password --incremental /xtrabackup/z2 --incremental-basedir=/xtrabackup/z1/$z1 &>> /xtrabackup/xtrabackup--$timestamp.logz2=`ls -t /xtrabackup/z2/ | awk  'NR==1 {print $1}'` &>>/dev/null}#周三 增量z3() {innobackupex --user=$user --password=$password --incremental /xtrabackup/z3 --incremental-basedir=/xtrabackup/z2/$z2 &>> /xtrabackup/xtrabackup-$timestamp.logz3=`ls -t /xtrabackup/z3/ | awk  'NR==1 {print $1}'` &>>/dev/null}#周四 差异z4() {innobackupex --user=$user --password=$password --incremental /xtrabackup/z4 --incremental-basedir=/xtrabackup/z1/$z1 &>> /xtrabackup/xtrabackup-$timestamp.logz4=`ls -t /xtrabackup/z4/ | awk  'NR==1 {print $1}'` &>>/dev/null}#周五 增量z5() {innobackupex --user=$user --password=$password --incremental /xtrabackup/z5 --incremental-basedir=/xtrabackup/z4/$z4 &>> /xtrabackup/xtrabackup-$timestamp.logz5=`ls -t /xtrabackup/z5/ | awk  'NR==1 {print $1}'` &>>/dev/null}#周六 增量z6() {innobackupex --user=$user --password=$password --incremental /xtrabackup/z6 --incremental-basedir=/xtrabackup/z5/$z5 &>> /xtrabackup/xtrabackup-$timestamp.logz6=`ls -t /xtrabackup/z6/ | awk  'NR==1 {print $1}'` &>>/dev/null}#周天 差异z7() {innobackupex --user=$user --password=$password --incremental /xtrabackup/z7 --incremental-basedir=/xtrabackup/z1/$z1 &>> /xtrabackup/xtrabackup-$timestamp.log}#星期判断 #星期一...function show_date() {  date +"%A"  >>/dev/null}  show_datetime=`date +"%A"`  if [ $time == "星期一" ];thenz1elif [ $time == "星期二" ];thenz2elif [ $time == "星期三" ];thenz3elif [ $time == "星期四" ];thenz4elif [ $time == "星期五" ];thenz5elif [ $time == "星期六" ];thenz6else z7fi#报警发邮箱warn() {  grep "successful" /xtrabackup/xtrabackup-$timestamp.log > /dev/null  #当日志文件里没有successful时,也就是说它失败了if [ $? -ne 0 ]; then  cat "/xtrabackup/xtrabackup-$timestamp.log" | mailx -s "报警出错。及时排错" 22001399@qq.comfi  }  warn

注意:脚本里的星期取值是基于,终端里的取得中文状态,也就是说,你在终端里的返回值是中文的。

四.结果输出

#与君共勉,共同进步

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/264193.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

SSD数据在写入NAND之前为何要随机化?-part2

接part1介绍: 如何达到这个目的?业内常用的是对写入数据的数据进行随机化处理,这部分主要在SSD控制器中通过硬件实现。 上图b/c:在控制器芯片通过硬件方式实现随机化的读写流程,这个也是业内通常做法。随机化处理是在写…

JVM虚拟机:命令行查看JVM垃圾回收器的执行信息

在eclipse中打开命令行窗口 window->show view->Terminal 这样就打开了Terminal窗口,效果如下所示: java -XX:PrintCommandLineFlags -version 这个命令可以查看一些配置信息,其中最重要的配置信息就是,当前使用的G1回收器…

机器学习算法性能评估常用指标总结

考虑一个二分问题,即将实例分成正类(positive)或负类(negative)。对一个二分问题来说,会出现四种情况。如果一个实例是正类并且也被 预测成正类,即为真正类(True positive&#xff0…

Java到底是什么?学了我们能做什么?

一、Java是什么? Java是一门面向对象编程语言,不仅吸收了C语言的各种优点,还摒弃了C里难以理解的多继承、指针等概念,因此Java语言具有功能强大和简单易用两个特征。Java语言作为静态面向对象编程语言的代表,极好地实…

软件设计中如何画各类图之九活动图:系统行为与流程的可视化描述

目录 1 前言2 活动图的符号及说明2.1 开始和结束节点2.2 活动(Action)2.3 控制流(Control Flow)2.4 决策节点(Decision Node)2.5 合并节点(Merge Node) 3 画活动图的步骤3.1 确定活动…

Vue3拖拽功能【VueDraggablePlus】

一、介绍 由于 Sortablejs 的 vue3 组件一直没有更新,已经跟 vue3 严重脱节,所以诞生了这个项目,这个组件是基于 Sortablejs 的,所以如果你想了解更多关于 Sortablejs 的信息,可以查看Sortablejs 官网。VueDraggableP…

WIFI直连(Wi-Fi P2P)

一、概述 Wifi peer-to-peer(也称Wifi-Direct)是Wifi联盟推出的一项基于原来WIfi技术的可以让设备与设备间直接连接的技术,使用户不需要借助局域网或者AP(Access Point)就可以进行一对一或一对多通信。这种技术的应用…

微表情检测(三)----基于光流特征的微表情检测

Micro-expression spotting based on optical flow features 基于光流特征的微表情检测 Abstract 本文提出了一种高精度和可解释性的自动微表情检测方法。首先,我们设计了基于鼻尖位置的图像对齐方法,以消除由头部晃动引起的全局位移。其次&#xff0…

C语言----文件操作(一)

一:C语言中文件的概念 对于文件想必大家都很熟悉,无论在windows上还是Linux中,我们用文件去存储资料,记录笔记,常见的如txt文件,word文档,log文件等。那么,在C语言中文件是什么样的存…

【Hung-Yi Lee】强化学习笔记

文章目录 What is RLPolicy GradientPolicy Gradient实际是怎么做的On-policy v.s. Off-policyExploration配音大师 Actor-Critic训练value function的方式网络设计DQN Reward ShapingNo Reward:Learning from Demonstration What is RL 定义一个策略网络&#xff0…

SOA 的关键技术

SOA 伴随着无处不在的标准,为企业的现有资产或投资带来了更好的复用性。SOA 能够在最新的和现有的系统之上创建应用,借助现有的应用产生新的服务,为企业提供更好的灵活性来构建系统和业务流程。SOA 是一种全新的架构,为了支持其各…

Java并发(十七)----变量的线程安全分析

1、成员变量和静态变量是否线程安全 如果它们没有共享,则线程安全 如果它们被共享了,根据它们的状态是否能够改变,又分两种情况 如果只有读操作,则线程安全 如果有读写操作,则这段代码是临界区,需要考虑线…