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/*
相关文章:
xtrabackup备份 脚本
1、全量备份在周末晚上22点执行备份,增量是周一到周六晚上22点执行 2、考虑到增量备份第一次是根据全量备份开始备份,后面都是根据上一次增量备份在增量脚本做了if判断,周日做一次目录清理 3、每周日晚上91点50清理目录 22点就在次备份&#…...
13SpringMVC中拦截器的配置(拦截规则)和多个拦截器的preHandle,postHandle执行顺序原理详解
拦截器 Servlet中的过滤器的实现及其原理,参考文章 配置一个拦截器 SpringMVC中请求的处理流程: 用户请求—>listener—>filter—>DispatcherServlet—>filter—>preHandle—>controller—>postHandle 第一步: 编写一个Java类实现HandlerInterceptor(…...
Liunx中系统安全及文件系统(极其粗糙版)
PS:下面知识点还很粗糙下次有时间再改 系统安全: 系统安全和数据防护,数据备份的资质 比如三台服务器: 500万 工信部是有要求的,组织必须保证处理的个人数据的安全性 品牌形象如何维护呢 基于liunx的安全加固措施…...
Java中的数组
前言: 本篇博客将为大家介绍Java中的数组的相关知识。 目录 基本介绍 概念相关 数组的使用 数组是引用类型 应用场景 保存数据 作为方法的参数 作为方法的返回值 练习 数组转字符串 数组拷贝 求数组中元素的平均值 查找数组中的指定元素(二…...
Java反射调用jar包实现多态
上一篇实现了反射调用jar包,但是没有实现多态,这次先给自己的jar包类抽象一个接口,然后实现类实现接口。最后调用放反射得到的对像转换成接口类型调用执行。 定义接口,指定包为ZLZJar package ZLZJar;public interface ITest {p…...
PowerBI 一些基础功能
1、PowerBI创建日期表 1.1、Power BI 日期表 - 知乎日期是做数据分析的时候使用最频繁的分析维度,一般建议建立单独的日期维度表,并与事实表的日期字段建立连接。 建立日期维度表可通过DAX函数的方式进行: 日期表 CALENDAR(DATE("2023&…...
Mac用命令行安装Adobe代码字体Source Code Pro
执行命令 brew tap homebrew/cask-fonts && brew cask install font-source-code-pro...
RustDay05------Exercise[31-40]
31.结构体申明 结构体在这里给了三种声明样式 (1)字典样式的键值对(使用花括号) (2)元组样式的数值元组(使用圆括号) (3)空结构体,可以被格式化输出名字 // structs1.rs // Address all the TODOs to make the tests pass! // Execute rustlings hint structs1 or use the…...
wireshark过滤器的简单介绍
wireshark过滤器的简单介绍 Wireshark的过滤器主要分为捕获过滤器和显示过滤器两种,其中捕获过滤器在数据包捕获时起作用,而显示过滤器用于在已捕获的数据包的集合中筛选数据。以下是一些Wireshark过滤器的详细介绍: 捕获过滤器:…...
数据结构:二叉树(1)
目录 树的概念 树的表示形式 二叉树 二叉树的性质 题目 二叉树的存储 链式存储 初始化二叉树 二叉树的遍历 前序遍历:根👉左子树👉右子树 中序遍历:左子树👉根👉右子树 后序遍历:左子…...
[nlp] chathome—家居装修垂类大语言模型的开发和评估
ChatHome: Development and Evaluation of a Domain-Specific LanguageModel for Home Renovation ChatHome: 家居装修垂类大语言模型的开发和评估 1、摘要: 我们的方法包括两个步骤:首先,使用广泛的家庭装修数据集(包括专业文章、标准文档和网络内容)对通用模型进行后预训…...
http(下)
http的工作流程: 客户端---服务端通信过程 请求----响应的模型 建立连接:tcp/ip协议与服务器建立连接(三次握手),客户端向服务器的80端口发送连接请求 发送请求:一旦连接建立之后,客户端就像…...
Python学习基础笔记七十二——IDE集成开发环境
集成开发环境,英文缩写是IDE。 IDE可以帮你更高效地开发项目代码。因为它提供了非常实用的功能,比如项目文件管理、语法高亮、代码导航、自动补齐代码、语法静态检查、调试、版本控制等等。 两款IDE:Pycharm和VSCode。 pycharm中的代码文件都…...
[MQ]Win平台RocketMQ安装启动
1、下载 官网下载地址:https://rocketmq.apache.org/zh/download 2、解压ZIP包 解压rocketmq-all-x.x.x-bin-release.zip到目录。 比如我解压到了E:\Env\MQ_rocket\rocketmq-all-5.1.4-bin-release 3、配置环境变量 ROCKETMQ_HOME 4、RocketMQ JVM内存配置 这个需要…...
vscode工程屏蔽不使用的文件夹或文件的方法
一. 简介 vscode是一款 微软提供的免费的代码编辑软件。 对于 IMX6ULL-ALPHA开发板而言,NXP官方uboot一定会支持不止 IMX6ULL芯片的代码,也不止支持 一种架构,还支持其他芯片或架构的源码文件。 为了方便阅读代码,vscode软件可…...
黑马JVM总结(三十四)
(1)JMM概述 (2)JMM-原子性-synchronized java内存模型是如何保证原子性的呢,它是通过synchroized关键字,来达到这个目的的 第一个线程来了进入同步代码块之后,把这个对象加上锁了,…...
[linux]vncserver常用终端命令合集
开启vnc服务:systemctl start vncserver:1.service 关闭vnc服务:systemctl stop vncserver:1.service 重启vnc服务:systemctl restart vncserver:1.service 设置VNC密码: vncpasswd 开启VNC: vncserver :1 关闭VNC࿱…...
亚马逊、eBay,速卖通,国际站买家账号支付异常问题解决方法
如何解决下单被砍、封号问题,建议采取以下措施: 买家账号下单,不单纯只是解决支付卡、IP问题就可以了,因为平台大数据风控点很多, 我们防关联具体要解决几个问题 一:要硬件参数的关联、安全码、地区码、…...
Constitutional AI
用中文以结构树的方式列出这篇讲稿的知识点: Although you can use a reward model to eliminate the need for human evaluation during RLHF fine tuning, the human effort required to produce the trained reward model in the first place is huge. The label…...
TDengine 资深研发整理:基于 SpringBoot 多语言实现 API 返回消息国际化
作为一款在 Java 开发社区中广受欢迎的技术框架,SpringBoot 在开发者和企业的具体实践中应用广泛。具体来说,它是一个用于构建基于 Java 的 Web 应用程序和微服务的框架,通过简化开发流程、提供约定大于配置的原则以及集成大量常用库和组件&a…...
解锁RO游戏自动化工具:从效率瓶颈到智能辅助的实践指南
解锁RO游戏自动化工具:从效率瓶颈到智能辅助的实践指南 【免费下载链接】openkore A free/open source client and automation tool for Ragnarok Online 项目地址: https://gitcode.com/gh_mirrors/op/openkore 在MMORPG游戏领域,重复刷怪、繁琐…...
PyArmor解包终极指南:3种高效逆向分析技巧快速掌握代码解密核心技术
PyArmor解包终极指南:3种高效逆向分析技巧快速掌握代码解密核心技术 【免费下载链接】PyArmor-Unpacker A deobfuscator for PyArmor. 项目地址: https://gitcode.com/gh_mirrors/py/PyArmor-Unpacker PyArmor-Unpacker是一个专为Python开发者和安全研究人员…...
Halcon图像高效转换:HObject到Bitmap的优化实践(20ms内完成)
1. 为什么需要HObject到Bitmap的高效转换 在工业视觉和深度学习应用中,Halcon的HObject图像格式和Windows平台的Bitmap格式就像两个说着不同语言的人。我遇到过太多这样的场景:当我们需要把Halcon处理后的图像交给TensorFlow做推理,或者要在…...
ATOM-PRINTER嵌入式热敏打印固件深度解析
1. ATOM-PRINTER 嵌入式打印库深度解析与工程实践指南ATOM-PRINTER 是 M5Stack 推出的面向 ESP32 平台的轻量级嵌入式热敏打印固件库,专为 M5Stack Atom 系列微型主控模块(搭载 ESP32-WROVER-B)设计。该库并非传统意义上的“驱动层”C/C 库&a…...
MT5中文增强工具多场景落地:保险条款通俗化改写与消费者理解度提升实践
MT5中文增强工具多场景落地:保险条款通俗化改写与消费者理解度提升实践 1. 项目概述与核心价值 MT5中文增强工具是一个基于Streamlit和阿里达摩院mT5模型构建的本地化NLP工具,专门针对中文文本进行语义改写和数据增强。这个工具的最大特点是能够在保持…...
毕业季论文救星:深度解析百考通AI如何智能攻克文献综述与开题报告
又到一年毕业季,无数莘莘学子在为自己学术生涯的“终极答卷”——毕业论文而挑灯夜战。其中,文献综述的浩如烟海与开题报告的千头万绪,无疑是横亘在大多数同学面前的两座大山。你是否也曾面对海量文献不知如何筛选梳理?是否为构建…...
dumpDex安全研究:脱壳工具在Android安全分析中的应用
dumpDex安全研究:脱壳工具在Android安全分析中的应用 【免费下载链接】dumpDex 💯一款Android脱壳工具,需要xposed支持, 易开发已集成该项目。 项目地址: https://gitcode.com/gh_mirrors/du/dumpDex 在Android应用安全分析领域&#…...
HY-MT1.5-1.8B助力内容本地化:一键翻译33种语言,保留原文格式
HY-MT1.5-1.8B助力内容本地化:一键翻译33种语言,保留原文格式 1. 引言 1.1 多语言翻译的挑战与机遇 在全球化的数字时代,内容本地化已成为企业出海、文化交流和技术传播的关键环节。传统翻译工具往往面临三大痛点:语言覆盖有限…...
GPON OMCI抓包避坑指南:Wireshark插件版本、芯片指令与实战解析全流程
GPON OMCI抓包避坑指南:Wireshark插件版本、芯片指令与实战解析全流程 在GPON网络运维和研发过程中,OMCI(ONU Management and Control Interface)协议分析是定位问题的关键手段。但许多工程师在实际操作中常陷入版本兼容性陷阱、芯…...
macOS下OpenClaw调试技巧:GLM-4.7-Flash接口连接问题排查
macOS下OpenClaw调试技巧:GLM-4.7-Flash接口连接问题排查 1. 问题背景与前期准备 上周在尝试将本地部署的GLM-4.7-Flash模型接入OpenClaw时,我遇到了三个典型问题:网关端口被占用、模型地址配置错误、以及Token消耗异常。这些问题导致自动化…...
