当前位置: 首页 > news >正文

【shell脚本速成】mysql备份脚本

在这里插入图片描述

文章目录

    • 案例需求
    • 脚本应用场景:
    • 解决问题
    • 脚本思路
    • 实现代码

🌈你好呀!我是 山顶风景独好
🎈欢迎踏入我的博客世界,能与您在此邂逅,真是缘分使然!😊
🌸愿您在此停留的每一刻,都沐浴在轻松愉悦的氛围中。
📖这里不仅有丰富的知识和趣味横生的内容等您来探索,更是一个自由交流的平台,期待您留下独特的思考与见解。🌟
🚀让我们一起踏上这段探索与成长的旅程,携手挖掘更多可能,共同进步!💪✨

案例需求

写一个mysql binlog备份脚本,要求每天0点0分,计算机自动备份前一天的binlog日志,打包后发送给备份服务器。

脚本应用场景:

文件备份

解决问题

日常文件备份

日常数据备份

脚本思路

1、确定binlog的位置及备份时间间隔 每天

当前要备份的binlog是谁

刷新binlog日志,生成新的binlog用于存储备份节点后的数据

2、打包binlog日志 以年-月-日_binlog.tar.gz格式

3、生成校验码 md5sum

4、将校验码和压缩包存入到文件夹 文件夹命名 年-月-日 再次打包

5、使用scp拷贝到备份机器

6、备份机器解压收到的目录压缩包 通过校验码 教研binlog压缩包是否完整

完整 完成备份 -----发邮件给管理员,明确备份成功

不完整 报错------发邮件给管理员,要求手动备份

实现代码

#!/bin/bash
#Description: 
#Author: www.zutuanxue.com
#Created Time: 
#将mysql的binlog日志备份到备份服务器########variables
db_user='root'
db_password=''
log='/var/log/mysql_backup.log'###main
#获得信息
binlog_dir='/var/lib/mysql'
current_binlog=`mysql -u $db_user -e "show master status"|egrep "binlog.[[:digit:]]*"|awk '{print $1}'`date >> $log
#准备备份
#1 刷新binlog    
mysql -u $db_user -e "flush logs"
#2 打包要备份的binlog
tar czf `date +%F`_binlog.tar.gz $binlog_dir/$current_binlog &>>$log
#3 生成校验码
md5sum `date +%F`_binlog.tar.gz > "`date +%F`_md5sum.txt"
#4 存入文件夹
[ ! -d `date +%F` ]&&mkdir `date +%F`
mv  `date +%F`_binlog.tar.gz `date +%F`
mv `date +%F`_md5sum.txt `date +%F`# 打包目录
tar czf `date +%F`.tar.gz `date +%F` &>>$log#5 拷贝
#要求提前做证书信任
scp `date +%F`.tar.gz root@192.168.11.241:/opt/backup &>>$log
if [ $? -ne 0 ];thenecho "ERROR:scp `date +%F`.tar.gz fail" &>>$logexit 1
fi#6 校验
ssh root@192.168.11.241 "tar xf /opt/backup/`date +%F`.tar.gz -C /opt"
#ssh root@192.168.11.241 "cd /opt/backup`date +%F`"
ssh root@192.168.11.241 "cd /opt/`date +%F`;md5sum -c `date +%F`_md5sum.txt" &>>$log
if [ $? -eq 0 ];thenecho "success" &>>$logssh root@192.168.11.241 "rm -rf /opt/`date +%F`"
elseecho "fail" &>>$log
fi

✨ 这就是今天要分享给大家的全部内容了,我们下期再见!😊
🏠 我在CSDN等你哦!我的主页😍

相关文章:

【shell脚本速成】mysql备份脚本

文章目录 案例需求脚本应用场景:解决问题脚本思路实现代码 🌈你好呀!我是 山顶风景独好 🎈欢迎踏入我的博客世界,能与您在此邂逅,真是缘分使然!😊 🌸愿您在此停留的每一刻…...

高考志愿填报,理科生如何分析选专业?

理科生选择专业的范围更大一些,相比文科说理工科的院校也更多,如何选择适合自己的专业,这是一个比较重要的课题,毕竟大学专业直接关系到职业,是一辈子的大事。 那么理科究竟如何选择专业呢?需要从什么地方…...

qt 简单实验 json格式的文件写入配置文件

1.概要 2.代码 //#include "mainwindow.h"#include <QApplication> #include <QFile> #include <QJsonDocument> #include <QJsonObject> //读取json数据的配置文件int main(int argc, char *argv[]) {QApplication a(argc, argv);QString…...

将WIN10的wifi上网分享给以太网接口

目录 打开网络设置设置属性点这里的设置将wlan主机的以太网接口IP设为自动获取 如果连接不成功&#xff0c;拔网线重连一次 打开网络设置 设置属性 点这里的设置 将wlan主机的以太网接口IP设为自动获取 如果连接不成功&#xff0c;拔网线重连一次...

在 iPhone 上恢复已删除联系人的 5 种简便方法

想象一下&#xff1a;您正在 iPhone 上滚动并搜索要拨打的联系人&#xff0c;但却找不到任何结果。然后您想起昨晚您试图删除一个名字相似的联系人&#xff0c;但不知何故删除了错误的联系人。或者您的孩子错误地删除了一些联系人。这些情况足以让您感到迷茫。但别担心&#xf…...

小白指南:前端使用javascript如何判断集合是不是空集合?

背景 最近在开发一个Web应用时&#xff0c;我遇到了一个关于集合处理的问题。具体来说&#xff0c;我需要判断一个集合是否为空。集合可以是数组、对象、Map或Set等不同的数据结构。就简单的整理了一下如何在JavaScript中有效地判断一个集合是否为空呢&#xff1f; 解决方案 …...

人力资源招聘社会校企类型招聘系统校园招聘小程序

校企社会人力资源招聘小程序&#xff1a;开启高效招聘新时代 &#x1f680;开篇&#xff1a;打破传统&#xff0c;开启招聘新篇章 在快速发展的现代社会&#xff0c;人力资源招聘已经成为企业和学校共同关注的重要议题。为了更高效、便捷地满足双方的招聘需求&#xff0c;一款…...

docker重要操作与直连方法

文章目录 前言一、nvidia-docker安装方法1、nvidia-docker安装2、重启动ssh 二、构建镜像1、构建镜像docker拉取构建本地镜像加载构建 2、容器转镜像3、镜像打包4、删除镜像 三、构建容器1、容器构建2、启动镜像3、删除容器 四、docker直连(ssh -p)1、docker更改密码2、物理机操…...

Windows环境利用 OpenCV 中 CascadeClassifier 分类器识别人眼 c++

Windows环境中配置OpenCV 关于在Windows环境中配置opencv的说明&#xff0c;具体可以参考&#xff1a;VS2022 配置OpenCV开发环境详细教程。 CascadeClassifier 分类器 CascadeClassifier 是 OpenCV 库中的一个类&#xff0c;它用于实现一种快速的物体检测算法&#xff0c;称…...

Golang | Leetcode Golang题解之第167题两数之和II-输入有序数组

题目&#xff1a; 题解&#xff1a; func twoSum(numbers []int, target int) []int {low, high : 0, len(numbers) - 1for low < high {sum : numbers[low] numbers[high]if sum target {return []int{low 1, high 1}} else if sum < target {low} else {high--}}r…...

【软件工程】【23.04】p2

关键字&#xff1a; 计算机软件定义、需求基本性质、创建系统类图所涉及的工作、RUP创建系统用况模型活动、软件生存周期模型、能力等级和成熟度等级区别联系&#xff1b; 模块结构图&#xff1a;深度宽度、扇入扇出、作用域、控制域&#xff1b; 程序流程图&#xff1a;语句…...

Java多线程编程与并发控制策略

Java多线程编程与并发控制策略 大家好&#xff0c;我是免费搭建查券返利机器人省钱赚佣金就用微赚淘客系统3.0的小编&#xff0c;也是冬天不穿秋裤&#xff0c;天冷也要风度的程序猿&#xff01;今天&#xff0c;我想和大家分享一下Java多线程编程与并发控制策略的相关知识&am…...

Java爬虫(一)

一、Java爬虫简介 1.1 Selenium Selenium爬虫是一种基于浏览器自动化的爬虫技术&#xff0c;可以模拟用户的操作行为&#xff0c;实现对动态网页的爬取。 1.2 jsoup Jsoup拥有十分方便的api来处理html文档&#xff0c;比如参考了DOM对象的文档遍历方法&#xff0c;参考了CSS选…...

element-plus form表单组件之el-date-picker日期选择器组件

el-date-picker日期选择器组件可根据年&#xff0c;月&#xff0c;日期&#xff0c;时间范围来进行选择&#xff0c;可以自定义日期格式&#xff0c;和样式&#xff0c;还提供多种内置事件。 主要属性如下 属性名说明类型可选值默认值model-value / v-model绑定值&#xff0c…...

如何与情绪好好相处,真正成为情绪的主人

一、教程描述 若要成为一个聪明的人&#xff0c;就要学会做情绪的主人&#xff0c;而不是被情绪控制自己&#xff0c;为什么要做情绪的主人&#xff1f;至少有以下两个方面原因。 其一&#xff0c;都说&#xff0c;世上还是好人多。可是&#xff0c;为什么你身边没有一个好人…...

RK3588/算能/Nvidia智能盒子:[AI智慧油站」,以安全为基,赋能精准经营

2021年9月&#xff0c;山东省应急管理厅印发了关于《全省危险化学品安全生产信息化建设与应用工作方案&#xff08;2021-2022 年&#xff09;》的通知&#xff0c;要求全省范围内加快推进危险化学品安全生产信息化、智能化建设与应用工作&#xff0c;建设完善全省危险化学品安全…...

【眼在手外D435相机支架】

完整UR机械臂的GRCNN抓取网络教程参考以下博客: 【眼在手外D435相机支架】 0. 【机械臂视觉抓取从理论到实战】 GRCNN抓取网络学习1【Jacquard数据集等效制作】GRCNN抓取网络学习2【自制Jacquard数据集训练】GRCNN抓取网络学习3【自制Jacquard数据集模型调优】GRCNN抓取网络学…...

js组合继承

JS组合继承&#xff08;combination inheritance&#xff09;是一种常用的继承模式&#xff0c;它通过将原型链和构造函数组合使用来实现继承。 下面是JS组合继承的详细解析和代码示例&#xff1a; 创建父类&#xff08;基类&#xff09;的构造函数 function Parent(name) {…...

Spring-kafka消费者消费的一些问题

前言 Spring Kafka 无缝集成了 Spring Boot、Spring Framework 及其生态系统中的其他项目&#xff0c;如 Spring Cloud。通过与 Spring Boot 的自动配置结合&#xff0c;开发者可以快速启动和配置 Kafka 相关的功能。无需编写大量样板代码即可实现 Kafka 的生产和消费功能&…...

【自我提升】提升能量书籍

《原子习惯》 (Atomic Habits) - 詹姆斯克利尔 (James Clear)&#xff1a; 核心思想&#xff1a;微小的习惯改变可以带来显著的生活变化。方法&#xff1a; 将大目标拆分为可管理的小习惯。使用“习惯堆叠”技术&#xff0c;将新习惯与已有习惯结合。创建支持性环境&#xff0c…...

OpenClaw移动端适配:通过飞书调用Kimi-VL-A3B-Thinking多模态服务

OpenClaw移动端适配&#xff1a;通过飞书调用Kimi-VL-A3B-Thinking多模态服务 1. 为什么需要移动端适配 作为一个长期依赖OpenClaw进行本地自动化任务的用户&#xff0c;我最近遇到了一个痛点&#xff1a;当我在户外或出差时&#xff0c;无法方便地使用OpenClaw的强大功能。虽…...

GHelper完整指南:为华硕笔记本卸载臃肿控制软件的最佳替代方案

GHelper完整指南&#xff1a;为华硕笔记本卸载臃肿控制软件的最佳替代方案 【免费下载链接】g-helper Lightweight, open-source control tool for ASUS laptops and ROG Ally. Manage performance modes, fans, GPU, battery, and RGB lighting across Zephyrus, Flow, TUF, S…...

weibo-rss:让微博内容主动找到你的高效订阅工具

weibo-rss&#xff1a;让微博内容主动找到你的高效订阅工具 【免费下载链接】weibo-rss &#x1f370; 把喜欢的微博转为 RSS 订阅源 项目地址: https://gitcode.com/gh_mirrors/we/weibo-rss 在信息爆炸的时代&#xff0c;我们每天要处理大量碎片化内容。微博作为主流社…...

TI SAR ADC模型(Matlab) 包含各类非理想因素,时钟偏差,增益偏差

TI SAR ADC模型&#xff08;Matlab&#xff09; 包含各类非理想因素&#xff0c;时钟偏差&#xff0c;增益偏差&#xff0c;失调偏差 模型参数均可自由设置直接上干货吧&#xff0c;今天聊聊怎么用Matlab折腾带非理想特性的SAR ADC模型。玩过ADC的都知道&#xff0c;现实中的转…...

SwartNinjaPIR:嵌入式高可靠PIR运动检测驱动库

1. SwartNinjaPIR 库概述&#xff1a;面向嵌入式系统的高可靠性 PIR 运动检测驱动设计SwartNinjaPIR 是一个专为 Arduino 及兼容平台&#xff08;如 STM32、ESP32 等基于 Arduino Core 的 MCU&#xff09;设计的轻量级、生产就绪型被动红外&#xff08;Passive Infrared, PIR&a…...

TGP Ecran:Arduino OLED显示库的轻量封装与非阻塞刷新设计

1. 项目概述TGP Ecran 是一款面向嵌入式 Arduino 平台的 OLED 显示驱动封装库&#xff0c;其核心定位是降低 Adafruit SSD1306 驱动库的使用门槛&#xff0c;同时保留底层图形能力的完整可访问性。该库并非从零实现的显示驱动&#xff0c;而是基于 Adafruit 官方 SSD1306 和 GF…...

STM32首次烧录选择erase sectors导致程序跑飞

一、故障现象小批量打样回来的板子&#xff0c;烧录程序后一切正常&#xff0c;蜂鸣器响0.5s&#xff0c;LED闪烁等待握手&#xff1b;但是断电重启后蜂鸣器长鸣&#xff0c;LED不闪烁&#xff0c;无法正常运行。二、分析解决过程首先我看了一下电源&#xff0c;电压、电流都是…...

comsol复合相变墙体保温隔热,comsol论文复现建模仿真 模拟室外温度变化复合墙体温度变化过程

comsol复合相变墙体保温隔热&#xff0c;comsol论文复现建模仿真 模拟室外温度变化复合墙体温度变化过程&#xff0c;对比普通墙体的保温隔热性能大夏天顶着40度高温站阳台收衣服的时候&#xff0c;总想着要是墙体能像冰柜门一样隔热该多好。最近用COMSOL折腾了个复合相变墙体模…...

2026年AI风口已至!月薪3万+岗位盘点+零基础转行指南,速收藏!

本文详细介绍了2026年转行AI的优势与机遇&#xff0c;指出行业人才缺口巨大且薪资水平高。文章全面梳理了AI行业的各类岗位&#xff0c;并针对技术、产品、运营、培训等不同转行路径&#xff0c;提供了分阶段的学习指南和推荐资源。此外&#xff0c;还针对应届毕业生、传统行业…...

用Python+ddddocr搞定某税网滑块验证码,再拆解SM2/SM4/HMacSHA256加密全流程

Python实战&#xff1a;国密算法与滑块验证的自动化登录全解析 当开发者遇到集成了滑块验证和国密加密的复杂登录系统时&#xff0c;传统爬虫手段往往束手无策。本文将完整演示如何用Python构建一个从滑块识别到加密处理的自动化登录系统&#xff0c;重点解决SM2/SM4加密和HMac…...