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

shell脚本获得所有数据库备份(整库备份,表级备份)

数据库备份到天翼云对象存储OBS
https://blog.csdn.net/qq_34631220/article/details/135755894

1、获得所有数据库

#!/bin/sh
HOSTNAME="ip"  #数据库信息
PORT="3306"
USERNAME="root"
PASSWORD=""
DBNAME="yusuan"  #数据库名称
# select_sql="select * from dade"
# 获得所有数据库
select_sql="show databases"
data=$(mysql -h${HOSTNAME} -P${PORT} -u${USERNAME} -p${PASSWORD} ${DBNAME} -e "${select_sql}")
for list in ${data}
doif [ "$list" != "Database" ] && [ "$list" != "information_schema" ] && [ "$list" != "mysql" ] && [ "$list" != "performance_schema" ] && [ "$list" != "sys" ];thenif [ "$list" == "yusuan" ]; thenecho "数据库66666----${list}"elseecho "数据库----${list}"fifi
done

2.单库表级备份

#!/bin/sh# 获得时间date "+%Y-%m-%d %H:%M:%S"
mkdirYmd=$(date +%Y%m%d)
ymd=$(date +%Y%m%d-%H:%M:%S)
# 判断目录是否存在,不存在创建,压缩存放目录
[ -d /obsfs/obsfs_CentOS7.6_amd64/zip ] || mkdir -p /obsfs/obsfs_CentOS7.6_amd64/zipHOSTNAME="ip"  #数据库信息
PORT="3306"
USERNAME="root"
PASSWORD=""
DBNAME="yusuan"  #数据库名称
# select_sql="select * from dade"
# 获得所有数据库
select_sql="show databases"
data=$(mysql -h${HOSTNAME} -P${PORT} -u${USERNAME} -p${PASSWORD} ${DBNAME} -e "${select_sql}")
for list in ${data}
doif [ "$list" != "Database" ] && [ "$list" != "information_schema" ] && [ "$list" != "mysql" ] && [ "$list" != "performance_schema" ] && [ "$list" != "sys" ];thenif [ "$list" == "yusuan" ]; thenecho "数据库66666----${list}"# 判断目录是否存在,不存在创建,日期+库名创建目录[ -d /obsfs/obsfs_CentOS7.6_amd64/cdj-file/mysql/${mkdirYmd}/${list} ] || mkdir -p /obsfs/obsfs_CentOS7.6_amd64/cdj-file/mysql/${mkdirYmd}/${list}# 整库备份# mysqldump -h${HOSTNAME} -u${USERNAME} -p${PASSWORD} --databases $list >/obsfs/obsfs_CentOS7.6_amd64/sql/${list}.sql# 按库单表备份tables_sql="show tables"Tab=$(mysql -h${HOSTNAME} -P${PORT} -u${USERNAME} -p${PASSWORD} ${list} -e "${tables_sql}")for it in ${Tab}do  if [ "$it" != "Tables_in_yusuan" ];thenecho "表-----${it}"# 单表备份mysqldump -h${HOSTNAME} -u${USERNAME} -p${PASSWORD} --databases ${list} --tables ${it} > /obsfs/obsfs_CentOS7.6_amd64/sql/${it}_${ymd}.sql# 单表压缩zip -r /obsfs/obsfs_CentOS7.6_amd64/zip/${it}_${ymd}.zip /obsfs/obsfs_CentOS7.6_amd64/sql/${it}_${ymd}.sql# 复制到天翼云对象存储目录OBS(并行文件系统),备份cp /obsfs/obsfs_CentOS7.6_amd64/zip/${it}_${ymd}.zip /obsfs/obsfs_CentOS7.6_amd64/cdj-file/mysql/${mkdirYmd}/${list}# 删除两个原文件rm -rf /obsfs/obsfs_CentOS7.6_amd64/sql/${it}_${ymd}.sql;rm -rf /obsfs/obsfs_CentOS7.6_amd64/zip/${it}_${ymd}.zip;fidoneelseecho "数据库----${list}"fifi
done

3、备份所有库(表级)

#!/bin/sh# 获得时间date "+%Y-%m-%d %H:%M:%S"
mkdirYmd=$(date +%Y%m%d)
ymd=$(date +%Y%m%d-%H:%M:%S)
# 判断目录是否存在,不存在创建,压缩存放目录
[ -d /obsfs/obsfs_CentOS7.6_amd64/zip ] || mkdir -p /obsfs/obsfs_CentOS7.6_amd64/zipHOSTNAME="ip"  #数据库信息
PORT="3306"
USERNAME="root"
PASSWORD=""
DBNAME="yusuan"  #数据库名称
# select_sql="select * from dade"
# 获得所有数据库
select_sql="show databases"
data=$(mysql -h${HOSTNAME} -P${PORT} -u${USERNAME} -p${PASSWORD} ${DBNAME} -e "${select_sql}")
for list in ${data}
doif [ "$list" != "Database" ] && [ "$list" != "information_schema" ] && [ "$list" != "mysql" ] && [ "$list" != "performance_schema" ] && [ "$list" != "sys" ];thenecho "数据库----${list}"# 判断目录是否存在,不存在创建,日期+库名创建目录[ -d /obsfs/obsfs_CentOS7.6_amd64/cdj-file/mysql/${mkdirYmd}/${list} ] || mkdir -p /obsfs/obsfs_CentOS7.6_amd64/cdj-file/mysql/${mkdirYmd}/${list}# 整库备份# mysqldump -h${HOSTNAME} -u${USERNAME} -p${PASSWORD} --databases $list >/obsfs/obsfs_CentOS7.6_amd64/sql/${list}.sql# 按库单表备份tables_sql="show tables"Tab=$(mysql -h${HOSTNAME} -P${PORT} -u${USERNAME} -p${PASSWORD} ${list} -e "${tables_sql}")for it in ${Tab}do  if [ "$it" != "Tables_in_yusuan" ];thenecho "库:${list}---表:${it}"# 单表备份mysqldump -h${HOSTNAME} -u${USERNAME} -p${PASSWORD} --databases ${list} --tables ${it} > /obsfs/obsfs_CentOS7.6_amd64/sql/${it}_${ymd}.sql# 单表压缩zip -r /obsfs/obsfs_CentOS7.6_amd64/zip/${it}_${ymd}.zip /obsfs/obsfs_CentOS7.6_amd64/sql/${it}_${ymd}.sql# 复制到天翼云对象存储目录OBS(并行文件系统),备份cp /obsfs/obsfs_CentOS7.6_amd64/zip/${it}_${ymd}.zip /obsfs/obsfs_CentOS7.6_amd64/cdj-file/mysql/${mkdirYmd}/${list}# 删除两个原文件rm -rf /obsfs/obsfs_CentOS7.6_amd64/sql/${it}_${ymd}.sql;rm -rf /obsfs/obsfs_CentOS7.6_amd64/zip/${it}_${ymd}.zip;fidonefi
done

相关文章:

shell脚本获得所有数据库备份(整库备份,表级备份)

数据库备份到天翼云对象存储OBS https://blog.csdn.net/qq_34631220/article/details/135755894 1、获得所有数据库 #!/bin/sh HOSTNAME"ip" #数据库信息 PORT"3306" USERNAME"root" PASSWORD"" DBNAME"yusuan" #数据库…...

REVIT二次开发万能刷

将这两个参数赋予其他参数 步骤2 将来做个可以调控的版本 using System; using System.Collections.Generic; using System.Lin...

JSON简单了解

文章目录 1、JSON介绍2、ES6模版字符串3、JS对象转化为JSON字符串3.1、手动JS对象转化为JSON字符串3.2、自动JS对象转化为JSON字符串 4、JS对象和java互相转换 1、JSON介绍 JSON 概念:JavaScript Object Notation。JavaScript 对象表示法,简单理解JSON是…...

HarmonyOS鸿蒙应用开发( 四、重磅组件List列表组件使用详解)

List列表组件,是一个非常常用的组件。可以说在一个应用中,它的身影无处不在。它包含一系列相同宽度的列表项,适合连续、多行呈现同类数据,如商品列表、图片列表和和文本列表等。ArkUI 框架采用 List 容器组件创建列表(…...

redis优化系列(六)

本期分享redis内存过期策略:过期key的处理 Redis之所以性能强,最主要的原因就是基于内存存储。然而单节点的Redis其内存大小不宜过大,会影响持久化或主从同步性能。 可以通过修改配置文件来设置Redis的最大内存: maxmemory 1gb …...

【 Qt 快速上手】-②- Qt 环境搭建

文章目录 1. Qt 开发工具概述1.1 Qt Creator 介绍1.2 Visual Studio 介绍1.3 Eclipse 介绍 2. Qt SDK 的下载与安装2.1 Qt SDK 的下载2.2 Qt SDK 的安装2.3 验证 Qt SDK 安装是否成功2.4 Qt 环境变量配置 1. Qt 开发工具概述 Qt 开发环境需要安装三个部分: C编译器…...

Java入门高频考查基础知识4(字节跳动面试题18题2.5万字参考答案)

Java 是一种广泛使用的面向对象编程语言,在软件开发领域有着重要的地位。Java 提供了丰富的库和强大的特性,适用于多种应用场景,包括企业应用、移动应用、嵌入式系统等。 以下是几个面试技巧: 1. 复习核心概念:回顾 Ja…...

视觉空间效应

一、视觉空间效应 概况 视觉空间效应,是人类视觉系统(Human Visual System,HVS)的一个特点,也称为"视觉距离效应"。即距离观察者更近的目标像素对颜色感知产生更强烈的影响,而距离较远的目标像素…...

C#,入门教程(07)——软件项目的源文件与目录结构

上一篇: C#,入门教程(06)——解决方案资源管理器,代码文件与文件夹的管理工具https://blog.csdn.net/beijinghorn/article/details/124895033 创建新的 C# 项目后, Visual Studio 会自动创建一系列的目录与文件。 程序员后面的工…...

三国游戏(第十四届蓝桥杯)

题目 小蓝正在玩一款游戏。游戏中魏蜀吴三个国家各自拥有一定数量的士兵 X,Y,Z(一开始可以认为都为 0)。 游戏有 n个可能会发生的事件,每个事件之间相互独立且最多只会发生一次,当第 i个事件发生时会分别让 X,Y,Z 增加 A i , B…...

k8s---包管理器helm

内容预知 目录 内容预知 helm相关知识 Helm的简介与了解 helm的三个重要概念 helm的安装和使用 将软件包拖入master01上 使用 helm 安装 Chart 对chart的基本使用 查看chart信息 安装chart 对chart的基本管理 helm自定义模板 在镜像仓库中拉取chart,查…...

对于超低延迟SSD,IO调度器已经过时了吗?-part2

为了进行这项研究,他们设计了一套严谨的实验方法论,包括在配备了高速Intel Optane P4801X Series NVMe SSD的服务器上执行一系列微观和宏观基准测试,同时监测系统能耗情况。这些测试涵盖了多种工作负载场景,从单一进程提交大量请求…...

【C++】list的使用

目录 1 构造1.1 无参构造1.2 构造的list中包含n个值为val的元素1.3 用[first, last)区间中的元素构造list1.4 拷贝构造 2 迭代器的使用2.1 begin end2.2 rbegin rend 3 容量操作3.1 empty size 4 获取元素4.1 front back 5 插入、删除、修改5.1 头插-push_front和尾插-push…...

mybatis的缓存机制

视频教程_免费高速下载|百度网盘-分享无限制 (baidu.com) MyBatis 有一套灵活而强大的缓存机制,主要分为两级缓存:一级缓存(本地缓存)和二级缓存(全局缓存)。 一级缓存(本地缓存)&a…...

ChatGLM3报错:No chat template is defined for this tokenizer

使用官方提供的脚本创建ChatGLM3的DEMO&#xff1a; cd basic_demo python web_demo_gradio.py 出现效果异常问题&#xff1a; conversation [{role: user, content: 你好}, {role: assistant, content: 你好&#xff0c;有什么我可以帮助你的吗&#xff1f;\n\n<|im_end|…...

大数据学习之Flink、搞懂Flink的恢复策略

第一章、Flink的容错机制 第二章、Flink核心组件和工作原理 第三章、Flink的恢复策略 第四章、Flink容错机制的注意事项 第五章、Flink的容错机制与其他框架的容错机制相比较 目录 第三章、Flink的恢复策略 Ⅰ、恢复策略 1. Checkpoint&#xff1a; 2. Savepoint&#…...

C语言易忘操作符全集

目录 位操作符 1.按位与(&) 2.按位或(|) 3.按位异或(^) 4.按位取反(~) 5.左移(<<) 6.右移(>>) 逻辑操作符 1.逻辑与&#xff08;&&&#xff09; 2.逻辑或&#xff08;||) 3.逻辑非&#xff08;&#xff01;&#xff09; 位操作符 1.按位与(…...

网络请求 mvp mvvm get post delete put 请求

get 参数拼接 如下接口 localhost:8080/uav/plotting/page/app?pageNum1&pageSize10&appIde3c59e28-2032-4ddf-a762-7cec96f772a4&orgId65&plottingTypepoint GET("https:/uav/plotting/page/app") Observable<PlotList.DataBean> allPoin…...

研究生开题报告撰写:文言一心VSChatgpt3.5

文言一心 问&#xff1a;我是一名研二学生&#xff0c;请帮我生成一份研究生毕设开题答辩ppt框架。 答&#xff1a;好的&#xff0c;以下是一份研究生毕设开题答辩PPT的框架&#xff0c;供您参考&#xff1a; 幻灯片1&#xff1a;封面页 标题&#xff1a;研究生毕设开题答辩…...

Unity animator动画倒放的方法

在Unity中&#xff0c; 我们有时候不仅需要animator正放的效果&#xff0c;也需要倒放的效果。但我们在实际制作动画的时候可以只制作一个正放的动画&#xff0c;然后通过代码控制倒放。 实现方法其实很简单&#xff0c;只需要把animator动画的speed设置为-1即为倒放&#xff…...

UDP(Echoserver)

网络命令 Ping 命令 检测网络是否连通 使用方法: ping -c 次数 网址ping -c 3 www.baidu.comnetstat 命令 netstat 是一个用来查看网络状态的重要工具. 语法&#xff1a;netstat [选项] 功能&#xff1a;查看网络状态 常用选项&#xff1a; n 拒绝显示别名&#…...

学习STC51单片机32(芯片为STC89C52RCRC)OLED显示屏2

每日一言 今天的每一份坚持&#xff0c;都是在为未来积攒底气。 案例&#xff1a;OLED显示一个A 这边观察到一个点&#xff0c;怎么雪花了就是都是乱七八糟的占满了屏幕。。 解释 &#xff1a; 如果代码里信号切换太快&#xff08;比如 SDA 刚变&#xff0c;SCL 立刻变&#…...

2023赣州旅游投资集团

单选题 1.“不登高山&#xff0c;不知天之高也&#xff1b;不临深溪&#xff0c;不知地之厚也。”这句话说明_____。 A、人的意识具有创造性 B、人的认识是独立于实践之外的 C、实践在认识过程中具有决定作用 D、人的一切知识都是从直接经验中获得的 参考答案: C 本题解…...

微软PowerBI考试 PL300-在 Power BI 中清理、转换和加载数据

微软PowerBI考试 PL300-在 Power BI 中清理、转换和加载数据 Power Query 具有大量专门帮助您清理和准备数据以供分析的功能。 您将了解如何简化复杂模型、更改数据类型、重命名对象和透视数据。 您还将了解如何分析列&#xff0c;以便知晓哪些列包含有价值的数据&#xff0c;…...

Spring是如何解决Bean的循环依赖:三级缓存机制

1、什么是 Bean 的循环依赖 在 Spring框架中,Bean 的循环依赖是指多个 Bean 之间‌互相持有对方引用‌,形成闭环依赖关系的现象。 多个 Bean 的依赖关系构成环形链路,例如: 双向依赖:Bean A 依赖 Bean B,同时 Bean B 也依赖 Bean A(A↔B)。链条循环: Bean A → Bean…...

iOS性能调优实战:借助克魔(KeyMob)与常用工具深度洞察App瓶颈

在日常iOS开发过程中&#xff0c;性能问题往往是最令人头疼的一类Bug。尤其是在App上线前的压测阶段或是处理用户反馈的高发期&#xff0c;开发者往往需要面对卡顿、崩溃、能耗异常、日志混乱等一系列问题。这些问题表面上看似偶发&#xff0c;但背后往往隐藏着系统资源调度不当…...

Java数值运算常见陷阱与规避方法

整数除法中的舍入问题 问题现象 当开发者预期进行浮点除法却误用整数除法时,会出现小数部分被截断的情况。典型错误模式如下: void process(int value) {double half = value / 2; // 整数除法导致截断// 使用half变量 }此时...

认识CMake并使用CMake构建自己的第一个项目

1.CMake的作用和优势 跨平台支持&#xff1a;CMake支持多种操作系统和编译器&#xff0c;使用同一份构建配置可以在不同的环境中使用 简化配置&#xff1a;通过CMakeLists.txt文件&#xff0c;用户可以定义项目结构、依赖项、编译选项等&#xff0c;无需手动编写复杂的构建脚本…...

保姆级【快数学会Android端“动画“】+ 实现补间动画和逐帧动画!!!

目录 补间动画 1.创建资源文件夹 2.设置文件夹类型 3.创建.xml文件 4.样式设计 5.动画设置 6.动画的实现 内容拓展 7.在原基础上继续添加.xml文件 8.xml代码编写 (1)rotate_anim (2)scale_anim (3)translate_anim 9.MainActivity.java代码汇总 10.效果展示 逐帧…...

sshd代码修改banner

sshd服务连接之后会收到字符串&#xff1a; SSH-2.0-OpenSSH_9.5 容易被hacker识别此服务为sshd服务。 是否可以通过修改此banner达到让人无法识别此服务的目的呢&#xff1f; 不能。因为这是写的SSH的协议中的。 也就是协议规定了banner必须这么写。 SSH- 开头&#xff0c…...