数据库参数备份

ops/2024/11/14 7:45:58/

MySQL

#!/bin/bash
# 获取当前日期和时间的时间戳
TIMESTAMP=$(date +"%Y%m%d-%H%M%S")# 0、创建目录
mkdir /tmp/parameter_$TIMESTAMP/# 1、获取所有命名空间
echo "1、获取所有命名空间"
NAMESPACES=$(kubectl get ns | grep qfusion- | grep -v qfusion-cloudshell | awk '{print $1}')
CONTAINER=mysql# 2、遍历所有命名空间,获取MySQL实例的参数
echo "2、遍历所有命名空间,获取MySQL实例的参数"
for NAMESPACE in $NAMESPACES; doecho "Processing namespace: $NAMESPACE"# 在每个命名空间中查找名称以 'mysql-' 开头的 Podfor pod in $(kubectl get pods -n "$NAMESPACE" -o=jsonpath='{.items[*].metadata.name}' | grep '^mysql-'); doecho "Processing pod: $pod in namespace: $NAMESPACE"# 执行 mysql 命令并将输出保存到带有时间戳的文件kubectl exec -it "$pod" -n "$NAMESPACE" -c "$CONTAINER" -- bash -c 'mysql -uroot -p${MYSQL_ROOT_PASSWORD} -e "show variables \G;"' > "/tmp/parameter_$TIMESTAMP/${pod}_${TIMESTAMP}.csv" 2>/dev/nulldone
done# 3、查看是否打印成功
echo "3、查看是否打印成功"
echo ""
ls -l /tmp/parameter_$TIMESTAMP/
head -n 2 /tmp/parameter_$TIMESTAMP/*.csv

在这里插入图片描述

MongoDB

#!/bin/bash
# 获取当前日期和时间的时间戳
TIMESTAMP=$(date +"%Y%m%d-%H%M%S")# 0、创建带有时间戳的目录
mkdir /tmp/parameter_$TIMESTAMP/# 1、获取所有命名空间
echo "1、获取所有命名空间"
#NAMESPACES=$(kubectl get ns -o=jsonpath='{.items[*].metadata.name}')
NAMESPACES=$(kubectl get ns | grep qfusion- | grep -v qfusion-cloudshell | awk '{print $1}')
CONTAINER=mongod# 2、遍历所有命名空间,获取MongoDB实例的参数
echo "2、遍历所有命名空间,获取MongoDB实例的参数"
for NAMESPACE in $NAMESPACES; doecho "Processing namespace: $NAMESPACE"# 在每个命名空间中查找名称以 'mongo-' 开头的 Podfor pod in $(kubectl get pods -n "$NAMESPACE"  | grep '^mongo-' | awk '{print $1}'); doecho "Processing pod: $pod in namespace: $NAMESPACE"# 执行 mongos 命令并将输出保存到带有时间戳的文件# 假设每个Pod中只有一个容器,如果多个容器需要指定容器名称if echo "$pod" | grep -q 'mongos'; thenkubectl exec -it "$pod" -n "$NAMESPACE" -c mongod -- bash -c 'cat /etc/mongos.conf' > "/tmp/parameter_$TIMESTAMP/${pod}.csv" 2>/dev/nullelsekubectl exec -it "$pod" -n "$NAMESPACE" -c mongod -- bash -c 'cat /etc/mongod.conf' >> "/tmp/parameter_$TIMESTAMP/${pod}.csv" 2>/dev/nullfidone
done# 3、查看是否打印成功
echo "3、查看是否打印成功"
echo ""
#ls -l /tmp/parameter_$TIMESTAMP/grep max /tmp/parameter_$TIMESTAMP/*.csv

在这里插入图片描述


http://www.ppmy.cn/ops/133505.html

相关文章

本地 Hadoop 开发环境搭建详解

### 本地 Hadoop 开发环境搭建详解 Hadoop 是处理大规模数据的核心工具之一,在大数据分析、机器学习和数据仓库等场景中应用广泛。为了方便开发和调试,搭建一个本地 Hadoop 环境是一个很好的选择。本文将详细介绍如何在本地搭建一个单节点的 Hadoop 环境…

prompt资料收集

1. LANGgpt模板 # Role: 知识探索专家 ## Profile: - - 即刻App即刻App,享受探索、表达和创造https://m.okjike.com/originalPosts/649801f1ba47fe581a0da471?seyJ1IjoiNjQyM2IwMDE4NDg5Njk1NGJjYzhkNWU1IiwiZCI6MX0%3D2. 好的prompt的标准 主观的说:…

【深度解析】CSS工程化全攻略(1)

在现代前端开发中,随着项目的规模越来越大,CSS 代码的管理和维护变得越来越重要。传统的 CSS 编写方式在大型项目中存在诸多问题,如类名冲突、重复样式、文件细分等。为了解决这些问题,社区提出了多种解决方案,包括命名…

OpenGL ES 文字渲染方式有几种?

在音视频或 OpenGL 开发中,文字渲染是一个高频使用的功能,比如制作一些酷炫的字幕、为视频添加水印、设置特殊字体等等。 实际上 OpenGL 并没有定义渲染文字的方式,所以我们最能想到的办法是:将带有文字的图像上传到纹理,然后进行纹理贴图。 本文分别介绍下在应用层和 C+…

通俗易懂:什么是 Java 类加载?

文章目录 类加载过程的三个阶段一个简单的案例:类加载的工作原理使用这个类类加载的顺序类加载的特点类加载的好处总结推荐阅读文章 在 Java 中, 类加载是一种将我们写的 Java 类文件加载到内存中的过程,让 JVM(Java 虚拟机&…

软件设计师 - 第2章 程序设计语言基础知识

语言分类 按照级别分类 低级语言:汇编语言高级语言:C,C,C#,Java,Python等 按照翻译形式分类 汇编:源代码经汇编程序翻译后执行解释:源代码经解释器解释后执行或者翻译成中间代码…

项目管理软件:帮你0门槛制作甘特图

甘特图是一种项目管理工具,能够通过条状图来显示项目进度的时间表,帮助团队或个人规划、安排和跟踪整个的项目进度。 甘特图,也叫横道图、条状图,是使用条状图来显示设计项目、进度和其他时间相关的系统进展的内在关系随着时间进…

python: postgreSQL using psycopg2 or psycopg

psycopg2 # encoding: utf-8 # 版权所有 2024 ©涂聚文有限公司 # 許可資訊查看:言語成了邀功的功臣,還需要行爲每日來值班嗎? # 描述: pip install --upgrade pip PostgreSQL database adapter for Python # pip install…