xtrabackup备份 脚本

1、全量备份在周末晚上22点执行备份,增量是周一到周六晚上22点执行

 2、考虑到增量备份第一次是根据全量备份开始备份,后面都是根据上一次增量备份在增量脚本做了if判断,周日做一次目录清理

3、每周日晚上91点50清理目录 22点就在次备份,增量备份在周一会根据最新的周日备份进行增量备份,

4、打包备份目录可以按月来清理

full_mysqlback全量备份数据包 full_inc_mysqlback是第一次根据全量数据做的增倍数据包

inc_mysqlback 是每吃一次增倍的数据包

全量备份脚本

[root@ces-235 ~]# cat full.sh
#!/bin/bash
#远程备份IP地址
back_ip="192.168.40.112"#主机ip
#数据库信息
mysql_data_dir="/usr/local/mysql/data"
mysql_user="back"
mysql_password="123456"
mysql_host="36.152.147.235"
mysql_port=4515#定义备份目录
backup_dir="/backup/back_full"echo "执行全量备份..."
# 获取当前时间戳
timestamp=$(date +'%Y%m%d%H%M%S')
back_dir="${backup_dir}/${timestamp}"
# 创建备份目录
mkdir -p "$back_dir"#获取最新的全量备份目录
new_backup_dir=$(ls -1t "$backup_dir" | head -1)#全量备份目录
full_dir="${backup_dir}/${new_backup_dir}"#本地打包备份目录
tar_backup="/opt/full_mysqlbackup"
mkdir -p $tar_backup
# 执行全量备份
xtrabackup --backup --target-dir="${back_dir}" --user="$mysql_user" --password="$mysql_password" --host="$mysql_host" --port="$mysql_port"echo "压缩最新的全量备份..."
cd $full_dir
tar -cvf "${tar_backup}/${timestamp}.tar.gz"  $full_dir
#scp ${tar_backup}/${timestamp}.tar.gz  $back_ip:$tar_backup

增量备份脚本

[root@cloudserver ~]# cat inc.sh
#!/bin/bash
# 远程备份IP地址
back_ip="192.168.40.112"# 数据库信息
mysql_user="back"
mysql_password="123456"
mysql_host="36.152.147.235"
mysql_port=4515# 定义增量备份目录
backup_dir="/backup/back_inc"# 获取上一次的增量备份目录
last_backup_dir=$(ls -1t "$backup_dir" | head -1)# 如果没有上一次的增量备份目录,那么使用最新的全量备份目录
if [ -z "$last_backup_dir" ]; thenfull_back_dir="/backup/back_full/"last_backup_dir=$(ls -1t "$full_back_dir" | head -1)backup_type="full_inc"
elsebackup_type="inc"
fi# 获取当前时间戳
timestamp=$(date +'%Y%m%d%H%M%S')
back_dir="${backup_dir}/${timestamp}"# 创建增量备份目录
mkdir -p "$back_dir"# 本地打包备份目录
tar_backup="/opt/${backup_type}_mysqlbackup"
mkdir -p "$tar_backup"# 根据备份类型设置备份目录
if [ "$backup_type" = "full_inc" ]; thenbackup_basedir="$full_back_dir"
elsebackup_basedir="$backup_dir"
fi# 执行增量备份
xtrabackup --backup --target-dir="${back_dir}" --user="$mysql_user" --password="$mysql_password" --host="$mysql_host" --port="$mysql_port" --incremental-basedir="${backup_basedir}/${last_backup_dir}"echo "压缩最新的${backup_type}备份..."
cd $back_dir
tar -cvf "${tar_backup}/${timestamp}.tar.gz"  $back_dir
scp ${tar_backup}/${timestamp}.tar.gz  $back_ip:$tar_backup

定时任务 

[root@cloudserver ~]# crontab -l
0 22 * * 0 sh /root/full.sh
0 22 * * 1-6 sh /root/inc.sh
50 21 * * 0 rm -rf /back/back_full/*
50 21 * * 0 rm -rf /back/back_inc/*

 

 

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

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

相关文章

当遇到修复错误0xc000000e时,你的电脑需要修复。如何在Windows 11/10上修复此错误

恢复错误代码0xc000000e,你的电脑需要修复,表示硬件故障或驱动器配置不正确,并可能伴随不同的错误消息,如: 所需设备未连接或无法访问 无法加载所选条目 由于应用程序丢失或损坏,无法加载所选条目 启动选择失败,因为无法访问所需的设备。 0xC000000E或STATUS_NO_SUCHDEV…

《持续交付:发布可靠软件的系统方法》- 读书笔记(五)

持续交付:发布可靠软件的系统方法(五) 第二部分——部署流水线第 5 章 部署流水线解析5.1 引言5.2 什么是部署流水线5.3 部署流水线的相关实践5.3.1 只生成一次二进制包5.3.2 对不同环境采用同一部署方式5.3.3 对部署进行冒烟测试5.3.4 向生产…

配置hpa后,target显示<unknown>/50%

背景: 有两个服务,server 负责主要后端请求,bill 负责计量计费请求。服务都是使用 helm 部署。测试提了一个缺陷,说全部服务没有配置hpa。 解决一 按照之前的代码结构添加了hpa后,发现: ➜ kubectl get…

机器学习——学习路线

一、Pytorch Pytorch安装Pytorch基础Pytorch项目实践 二、机器学习 1、监督学习 线性回归 均方差损失推导梯度下降法归一化正则化Lasso回归&岭回归多项式回归 线性分类 逻辑回归多标签分类交叉熵损失Softmax回归SVM支持向量机 决策树 剪枝与后剪枝随机森林Adaboost…

数据结构-----红黑树的插入

目录 前言 红黑树的储存结构 一、节点旋转操作 左旋(Left Rotation) 右旋(Right Rotation) 二、插入节点 1.插入的是空树 2.插入节点的key重新重复 3.插入节点的父节点是黑色 4.插入节点的父节点是红色 4.1父节点是祖父…

IDEA启动C:\Users\badboy\.jdks\corretto-17.0.7\bin\java.exe -Xmx700m报错

出现的现象 这里没有记录当时的截图,主要报错如下: C:\Users\badboy.jdks\corretto-17.0.7\bin\java.exe -Xmx700m … Error occurred during initialization of VM Failed setting boot class path. 排查方式 遇到这种问题我首先就是百度,…

如何打造智能公厕:实现智慧监测、自动化运营和智慧化管理

在现代城市里,公共厕所是人们不可或缺的基础设施之一。然而,传统的公厕管理方式已经无法满足人们对公厕的期望,因此需要采用智慧公厕管理系统来提升公厕服务的质量。本文将以智慧公厕领先厂家广州中期科技有限公司,大量精品案例现…

《算法通关村第一关——链表青铜挑战笔记》

《算法通关村第一关——链表青铜挑战笔记》 Java如何构造出链表 概念 如何构造出链表,首先必须了解什么是链表! 单向链表就像一个铁链一样,元素之间相互链接,包含多个节点,每个节点有一个指向后继元素的next指针。…

STM32 Cube SPI通信实战开发调试--电源项目SPI通信

文章目录 STM32 Cube SPI通信实战开发调试--电源项目SPI通信 STM32 Cube SPI通信实战开发调试–电源项目SPI通信 文章目录 准备工作 1.1. 所用硬件 1.2. SPI 简介 1.3. 生成工程 1.3.1. 创建工程选择主控 1.3.2. 系统配置 1.3.3. 配置工程目录 读写EEPROM实验(W25…

ES6(ECMAScript 2015)有哪些新属性,如何判断当前浏览器是否支持?

ES6(ECMAScript 2015)引入了许多新的语法和特性,以增强 JavaScript 编程语言的功能。以下是一些常见的 ES6 语法和特性以及它们的解释: let 和 const 声明: let 和 const 用于声明变量,代替了旧的 var 关键…

使用UiPath和AA构建的解决方案 6. 完成RPA挑战

我们来到了本书的最后一个UiPath项目——RPA挑战。 该项目也是我们Automation Anywhere项目的开始,因为我们也将与A2019一起执行RPA挑战。 本RPA挑战章将向您介绍在表单中处理动态元素的概念。此挑战具有动态变化的字段,是尝试新获得的UiPath web自动化技能的一种有趣方式。…

利用Python turtle绘制中国结附源码

一、中国结 01 平安喜乐 1)效果图 import turtle turtle.screensize(600,800) turtle.pensize(10) turtle.pencolor("red") turtle.seth(-45) turtle.fd(102) turtle.circle(-6,180) turtle.fd(102) turtle.circle(6,180) turtle.fd(102) turtle.circle(…

PLC 学习day01 了解PLC 的组成和知识。

1.资料来源 链接:3.三菱PLC编程视频关于PLC工作原理的介绍_哔哩哔哩_bilibili 2. PLC 的知识 2.1 PLC 的概述及特点功能 PLC是可编程逻辑控制器(Programmable Logic Controller)的英文缩写,是融合了继电器控制功能和计算机运算功…

CentOS+宝塔 通过php脚本+shell脚本+定时任务 = 自动拉取代码git pull

效果 访问 http://demo.com/gitPull/index.php 即可让Linux系统自动到指定目录git pull 实现步骤 准备好shell脚本 #!/bin/bash # 伺服器-监视拉取代码请求 # Author: RudonFILE/www/wwwroot/demo.com/gitPull/go.action LOGPATH/www/wwwroot/demo.com/gitPull/log.log dateN…

JIRA 在 2024 年完全停止服务器版本支持

在服务器上的开源许可证版本已经要过期了,想去更新下。 发现,JIRA 的所有服务器版本的支持马上就要结束了。 这就意味着,如果你部署的服务器版本的 JIRA 的话,你将没有办法对服务器进行更新。 貌似,必须使用 JIRA 提供…

GeoServer改造Springboot启动五(解决接口返回xml而不是json)

请求接口返回的是xml,而不是我们常用的json,问题呈现如下图 40 图 40请求接口返回XML 在RequestMapping注解上增加produces {MediaType.APPLICATION_JSON_UTF8_VALUE} 图 41增加produces

超简单小白攻略:如何利用黑群晖虚拟机和内网穿透实现公网访问

文章目录 前言本教程解决的问题是:按照本教程方法操作后,达到的效果是前排提醒: 1. 搭建群晖虚拟机1.1 下载黑群晖文件vmvare虚拟机安装包1.2 安装VMware虚拟机:1.3 解压黑群晖虚拟机文件1.4 虚拟机初始化1.5 没有搜索到黑群晖的解…

C语言,打印指定大小的X

要打印一个X,无非是在一个二维数组一个矩形中操作,将不是X的部分赋值为空格字符,将是X部分打印为*字符。 矩形的边长就是输入的n,由于矩形的边长是不固定的,所以要找到应该被赋值为*的坐标之间有什么数学关系。 以矩…

LangChain与大型语言模型(LLMs)应用基础教程:神奇的Agent

原文:LangChain与大型语言模型(LLMs)应用基础教程:神奇的Agent-CSDN博客 LangChain是大型语言模型(LLM)的应用框架,LangChain可以直接与 OpenAI 的 text-davinci-003、gpt-3.5-turbo 模型以及 Hugging Face 的各种开源语言模如 Google 的 flan-t5等模型集成。通过使…

Bootstrap的媒体对象组件(图文展示组件),挺有用的一个组件。

Bootstrap的.media类是用于创建媒体对象的,媒体对象通常用于展示图像(图片)和文本内容的组合,这种布局在展示新闻文章、博客帖子等方面非常常见。.media类使得创建这样的媒体对象非常简单,通常包含一个图像和相关的文本…