使用Mysqldump进行定时全备和增备脚本

news2025/8/8 8:47:33

使用mysqldump进行全备,增备是备份binlog日志   对应的一些变量按照实际环境进行修改即可,如果有更好的思路也可以进行评论交流。

配合计划任务即可完成定时备份的需求,脚本中备份文件存放目录提前创建或者在加个判断进行创建不过我觉得没啥必要。

写个计划任务每天凌晨2点进行备份操作

crontab -e

00 02 * * *  /bin/bash  /home/mysqldump.sh

vim mysqldump.sh

#!/bin/bash

#此脚本定义周一、周三、周五进行全备 周二、周四、周六、周日进行增备(备份binlog日志)

#--all-databases 备份所有数据库   --single-transaction 对事务引擎执行热备  --flush-logs 刷新日志即新建一个binlog文件

#

#定义备份用户

USER="root"

PASSWORD="Zxcvbnm@2022"

#全备存放目录

BACKUP="/home/mysqlbakup"

#定义binglog日志目录和备份存放目录

DATA_DIR="/var/log/mysql"

BACKUP_LOG="/home/mysqlbakup/mysqlbinlog/"

#备份操作记录存放日志

BAKLOG="/home/bak.log"

#定义时间变量

DATE=$(date)

LOG_TIME=`date +"%Y-%m-%d-%H:%M:%S".sql`

#LOG=$DATE.sql

#定义星期几

week=$(date |awk 'NR==1{print $4}')

num=${week}

case "$num" in

        "星期一")

        mysqldump -u${USER} -p${PASSWORD} --all-databases --single-transaction --flush-logs --master-data=2 >  ${BACKUP}/"$LOG_TIME"

        echo ""$DATE"全备完成" >> $BAKLOG

        ;;

        "星期二")

        cp -u "$DATA_DIR"/*  "$BACKUP_LOG"

        echo ""$DATE"增量备份完成" >> $BAKLOG

        ;;

        "星期三")

        mysqldump -u${USER} -p${PASSWORD} --all-databases --single-transaction --flush-logs --master-data=2 >  ${BACKUP}/"$LOG_TIME"

        echo ""$DATE"全备完成" >> $BAKLOG

        ;;

        "星期四")

        cp -u "$DATA_DIR"/*  "$BACKUP_LOG"

        echo ""$DATE"增量备份完成" >> $BAKLOG

        ;;

        "星期五")

        mysqldump -u${USER} -p${PASSWORD} --all-databases --single-transaction --flush-logs --master-data=2 >  ${BACKUP}/"$LOG_TIME"

        echo ""$DATE"全备完成" >> $BAKLOG

        ;;

        "星期六")

        cp -u "$DATA_DIR"/*  "$BACKUP_LOG"

        echo ""$DATE"增量备份完成" >> $BAKLOG

        ;;

        "星期日")

        cp -u "$DATA_DIR"/*  "$BACKUP_LOG"

        echo ""$DATE"增量备份完成" >> $BAKLOG

        ;;

esac

#此判断是为了发送备份文件到指定服务器以及清理备份文件防止占用过多磁盘

if [ $num = "星期日" ];then

        tar czf ${BACKUP}.tar  $BACKUP/   > /dev/null 2>&1 &&  scp  ${BACKUP}.tar root@192.168.11.144:/home &&  rm -rf $BACKUP/*.sql  &&  rm -rf $BACKUP_LOG/*

        echo ""$DATE"今天清理了备份文件" >> $BAKLOG

else

        echo ""$DATE"今天不进行清理操作" >> $BAKLOG

Fi

写好后可以修改服务器时间加定时任务测试一下脚本效果,修改一周所有的时间进行测试

5 11 * * *  /bin/bash  /home/mysqldump.sh

date -s "2022-11-27 11:24:58"

可以看到执行记录里的内容是成功了。 

 

 

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

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

相关文章

UNIAPP实战项目笔记44 订单页面顶部选项卡 有数据页面样式布局和无数据页面样式布局

UNIAPP实战项目笔记44 订单页面顶部选项卡 有数据页面样式布局和无数据页面样式布局 订单页面顶部选项卡 具体内容图片自己替换哈,随便找了个图片的做示例 具体位置见目录结构 通过 v-show 的false 和 true来切换有无数据页面布局 代码 my-order.vue 页面部分 my-…

[附源码]java毕业设计医院挂号管理系统

项目运行 环境配置: Jdk1.8 Tomcat7.0 Mysql HBuilderX(Webstorm也行) Eclispe(IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持)。 项目技术: SSM mybatis Maven Vue 等等组成,B/S模式 M…

自动化测试定位不到元素怎么办?

1.动态id定位不到元素 分析原因:每次打开页面,ID都会变化。用ID去找元素,每次刷新页面ID都会发生变化。 解决方案:推荐使用xpath的相对路径方法或者cssSelector查找到该元素。 2.iframe原因定位不到元素 分析原因:…

studio3T import a SQL Database to Mongodb(从mysql中导入数据到mongodb)

具体参考studio3T官方文档:Import a SQL Database to MongoDB in 5 Steps | Studio 3T 1、打开SQL Migration-->选择SQL to MongoDB Migration 2、创建源数据库的连接(本文源数据库是mysql) 3、选择目标数据库 默认选择当前连接的数据库…

【观察】OceanBase社区版4.0:引领时代,更创造时代

今年8月10日,在2022 OceanBase年度发布会上,OceanBase 4.0首次亮相,在经过85天的快速升级迭代,且历经内外部客户的场景测试与真实业务场景的稳定性“打磨”之后,OceanBase 4.0将“简单易用”的应用感受留给了客户。而在…

JS中的setter、getter数据存取器

JS属性可分为两种类型 ① 数据属性    只是简单存储了一个值 ② 存取器属性    最大的特点是在设置、获取属性值的时候能够做一些其他的操作 设置存取器属性的两种方式 ① 直接在对象中设置 let obj {count: 5, // 普通的数据属性// index为存取器属性_index: 1, // _in…

Linux系统上搭建Java的运行环境,并且部署JavaWeb程序

Linux系统上搭建Java的运行环境,并且部署JavaWeb程序 1.JDK 基于yum【包管理器】来进行安装即可。 yum list列出应用商店上所有的软件包名字。 yum list | grep jdk验证安装成功!! 2.Tomcat 由于yum商店里的tomcat的版本过低&#xff0…

SpringBoot SpringBoot 原理篇 1 自动配置 1.6 bean 的加载方式【四】

SpringBoot 【黑马程序员SpringBoot2全套视频教程,springboot零基础到项目实战(spring boot2完整版)】 SpringBoot 原理篇 文章目录SpringBootSpringBoot 原理篇1 自动配置1.6 bean 的加载方式【四】1.6.1 Import1 自动配置 1.6 bean 的加…

正大数据周五新鲜报 做期货要关注哪块消息?

正规的外盘期货公司都是在香港证监会的监管下,持有合法合规金融牌照。这点好比国内证券和期货公司在中国证监会的监管下一个道理,完全正规合法。 ​ ​如果你是想做主账户往下开展业务: 一、进入香港证监会官网查询该期货公司的编号 二、…

Spring 中 Bean 的作用域和生命周期

目录 1. Bean 的作用域 1.1 Bean 的六大作用域 1.1.1 单例作用域 (singleton) 1.1.2 原型作用域 (prototype) 1.1.3 请求作用域 (request) 1.1.4 会话作用于 (session) 1.1.5 全局作用于 (application) 1.1.6 HTTP WebSocket 作用域 (websocket) 1.2 如何设置 Bean 的…

142.如何个性化推荐系统设计-2

142.1 离线训练 离线训练流程 如何线上实时反馈特征? 在线计算,与曝光日志一起上报,离线直接使用 如何解决曝光不足问题? 使用CTR的贝叶斯平滑(CTR 曝光次数 / 点击次数) 所有新闻自身CTR服从Beta分布: 某…

199道SpringCloud面试题,你能答上来吗

前言 Spring Cloud Alibaba 是阿里中间件团队主导的一个新生项目,正处于高速迭代中。 其次,对于中国用户来说,Spring Cloud Alibaba 还有一个非常特殊的意义:它将曾经红极一时的 Dubbo,以及阿里巴巴的强力消息中间件…

每天花2小时复习Java面试指南,高级架构视频,我进了阿里定级P7

Java进阶架构师必备 基础 容器 并发 JVM Java8 计算机网络 计算机操作系统 Linux 数据结构 算法 mysql (优化思路) 系统设计 分布式 线上问题调优(虚拟机,tomcat) 面试指南 工具 ​ 编辑 添加图片注释,不超过 140 字(可选&…

用Python采集球员信息,成功预测到了球赛胜负?

前言 嗨嗨,最近看球赛的朋友多吗 emm怎么说,我对这个虽然兴趣不是很大 但是还是想跟朋友赌赌,自己对这些球员也不是很熟悉,索性叫我的好同事帮我用Python采集了各国球员的一些信息,没料到竟预测成功了! …

2022 谷歌出海创业加速器展示日: 见证入营企业成长收获

经历三个月的沉淀,迎来了展示日的大放异彩。10 家入营企业的路演分享,带来诸多启发 ——企业出海有什么挑战和难点?加入谷歌出海创业加速器,团队有哪些收获?三个月的培训和交流,带来了怎样的感受&#xff1…

Vue中插槽slot

slot插槽(别名:内容分发): 作用: 混合父组件的内容与子组件自己的模板;父组件模板内容在父组件作用域内编译;子组件模板的内容在子组件作用域内编译;扩展组件能力,提高…

VGG16 -19 — CV 中表现最好的 ConvNet 模型

从先进的计算机视觉出现的 Alexnet 开始,人们开始尝试不同的架构。牛津大学工程科学系的 Karen simonyan 和 Andrew Zisserman 在对 ImageNet Challenge 2014 的数据集进行了一些实验后提出了非常深的卷积网络:VERY DEEP CONVOLUTIONAL NETWORKS FOR LAR…

美食杰项目(二)首页

目录前言具体样式代码思路加载样式相应组件相应代码总结:前言 本节给大家讲的是美食杰项目的首页的主要功能和具体样式 具体样式 代码思路 1.点击首页跳转到首页页面 2.在父组件将轮播图所需的图片请求出来,再传给轮播组件 3.在父组件将商品列表的数据…

找不到工作,软件测试真的不香了?

最近总是有人说测试先不要干,测试不好找工作。测试没有以前那么香了? 可是,这是真的么?什么样的人会说这样的话? 肯定不是现在还在岗的人说的,也不是已经拿到企业聘用offer的人说的。 因为他们都是优秀的…

交换机的工作原理以及搭建局域网划分VLAN

作者简介:一名99年软件运维应届毕业生,正在自学云计算课程。宣言:人生就是B(birth)和D(death)之间的C(choise),做好每一个选择。创作不易,动动小手…