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

信创环境ES索引管理脚本:close, delete

背景

elastic-curator在信创环境无现成安装包,且现成一般无法联网,此时通过脚本管理es索引是最佳选择。

1, 脚本内容: es-close-del.sh

[root@myprojtest001 ]# cat es-close-del.sh
#/bin/bash#elastic地址
ELASTIC_URL=127.0.0.1:9200
#默认的删除时间
DELETE_MONTH=6
#默认的关闭时间
CLOSE_MONTH=1
#默认index
#INDEX_NAME=s_awqed_
INDEX_NAME=
ES_USER_PWD=elastic:123456#索引列表:例如 cs_myproj_2024 , qqq_myproj_2024_01, test_myproj_2024_01_03
# echo t1.2023.03_03 |egrep  -o '[0-9]{4}([_.-][0-9]+([_.-][0-9]+)?)?'|xargs |tr  '[:punct:]' '-'
##输出结果:2023-03-03
INDEX_MSG=`curl  -s -u "$ES_USER_PWD" -XGET ${ELASTIC_URL}/_cat/indices | grep _myproj_ `
if [[ -z $INDEX_NAME ]] ; thenINDEX_OPEN=`echo "$INDEX_MSG" |grep open | awk '{print $3}' | sort`
elseINDEX_OPEN=`echo "$INDEX_MSG" |grep $INDEX_NAME | grep open | awk '{print $3}' | sort`
fi#关闭索引的截止日期
CLOSE_DATE=`date -d "${CLOSE_MONTH} months ago" +%Y-%m-%d`
t_end_close=`date -d "${CLOSE_DATE}" +%s`#删除索引的截止日期
DELETE_DATE=`date -d "${DELETE_MONTH} months ago" +%Y-%m-%d`
t_end_del=`date -d "${DELETE_DATE}" +%s`#当前日期
t_end=`date +%s`
#遍历open的索引,判断是否应该关闭
for index in $INDEX_OPEN
do#获取索引日期#echo "-------$index--------"#INDEX_DATE=$(echo $index|sed -E  's@([a-zA-Z0-9_-]+)_myproj_@@g' |sed 's@_@-@g')INDEX_DATE=$(echo $index|egrep  -o '[0-9]{4}([_.-][0-9]+([_.-][0-9]+)?)?'|tr  '[:punct:]' '-')len1=${#INDEX_DATE} #es按年存,设置为该年份的最后一个月截止 xx_2024 --> xx_2024_12_31if   [ $len1 -lt 5 ]; thenINDEX_DATE=$INDEX_DATE"-12-31"#es按月存,设置为该月份的最后一天截止 xx_2024_01 --> xx_2024_01_28elif [ $len1 -lt 10 ]; then  INDEX_DATE=$INDEX_DATE"-28"fit_start=`date -d "${INDEX_DATE}" +%s`x=$((t_end - t_start))##比截止日期早的数据#时间差几个月(不足1月就为0: 例如 24/30=0): 保证有1个月数据x2=$((x / 3600 /24 /30 -1 ))if [ ${t_start} -lt ${t_end_close} ] && [ $x2 -ge $CLOSE_MONTH  ]; thenecho -e "\n close ${index} index"curl -u "$ES_USER_PWD" -XPOST ${ELASTIC_URL}/$index/_closefi
done#删除
#遍历open的索引,判断是否应该删除
INDEX_ALL=`echo "$INDEX_MSG" |grep close | awk '{print $3}' | sort`
for index in $INDEX_ALL
do#获取索引日期#echo "-----$index--------"#INDEX_DATE=$(echo $index|sed -E  's@([a-zA-Z]_?)@@g'|sed 's@_@-@g')#INDEX_DATE=$(echo $index|sed -E  's@([a-zA-Z0-9_-]+)_myproj_@@g' |sed 's@_@-@g')INDEX_DATE=$(echo $index|egrep  -o '[0-9]{4}([_.-][0-9]+([_.-][0-9]+)?)?'|tr  '[:punct:]' '-')len1=${#INDEX_DATE} #es按年存,设置为该年份的最后一个月if   [ $len1 -lt 5 ]; thenINDEX_DATE=$INDEX_DATE"-12-31"#es按月存,设置为该月份的最后一天elif [ $len1 -lt 10 ]; then  INDEX_DATE=$INDEX_DATE"-28"fit_start=`date -d "${INDEX_DATE}" +%s`x=$((t_end - t_start))##比截止日期早的数据#时间差几个月(不足1月就为0: 例如 24/30=0): 保证有1个月数据x2=$((x / 3600 /24 /30 -1))if [ ${t_start} -lt ${t_end_del} ] && [ $x2 -ge $DELETE_MONTH  ]; thenecho -e "\n delete ${index} index"curl -u "$ES_USER_PWD" -XDELETE ${ELASTIC_URL}/$indexfi
done

1, 脚本执行验证

[root@myprojtest001 ]# cat es-close-del.sh
close monitor_myproj_2023_09_07 index
{"acknowledged":true,"shards_acknowledged":true,"indices":{"monitor_myproj_2023_09_07":{"closed":true}}}delete monitor_myproj_2023_09_07 index
{"acknowledged":true}

相关文章:

信创环境ES索引管理脚本:close, delete

背景 elastic-curator在信创环境无现成安装包,且现成一般无法联网,此时通过脚本管理es索引是最佳选择。 1, 脚本内容: es-close-del.sh [rootmyprojtest001 ]# cat es-close-del.sh #/bin/bash#elastic地址 ELASTIC_URL127.0.0.1:9200 #默认的删除时间…...

torch-v1.3.1-build

编译pytorch-v1.3.1 python版本>3.8会收到报错 error: cannot convert ‘std::nullptr_t’ to ‘Py_ssize_t’ {aka ‘long int’} in initialization, 参见: https://github.com/pytorch/pytorch/issues/28060 简单办法是用python3.7 wget https://mirrors.tuna.tsingh…...

C语言宏定义笔记

把宏名全部大写,函数名不要全部大写。注意宏定义表示数据类型和用 typedef 定义数据说明符的区别。宏定义只是简单的字符串替换,由预处理器来处理; typedef 是在编译阶段由编译器处理的,它并不是简单的字符串替换,而给…...

设计模式:生活中的观察者模式

想象你在社交媒体上关注(订阅)了一个名人或新闻频道(主题)。一旦他们发布新内容,所有关注者(观察者)都会收到通知。这个过程就很像观察者模式的工作原理。 生活场景类比 主题(Subj…...

Qt实现Kermit协议(四)

3 实现 3.3 KermitRecvFile 该模块实现了Kermit接收文件功能。 序列图如下: 3.3.1 KermitRecvFile定义 class QSerialPort; class KermitRecvFile : public QObject, public Kermit {Q_OBJECT public:explicit KermitRecvFile(QSerialPort *serial, QObject *…...

苏州金龙助力旅游客运加速蜕变

近日,北京铭悦旅游客运有限公司又迎来一批苏州金龙海格纯电动客车。(以下简称北京铭悦旅游)总经理郭保生在车辆交付时说到,“为迎接强劲复苏的旅游市场,要求旅游客运向绿色客运转型,以及人民对品质生活、美…...

头盔检测 | 基于Caffe-SSD目标检测算法实现的建筑工地头盔检测

项目应用场景 面向建筑工地头盔检测场景,使用深度学习 Caffe SSD 目标检测算法,基于 C 实现。 项目效果 项目细节 > 具体参见项目 README.md (1) 安装 Caffe SSD(2) 执行训练 sh examples/Hardhat/SSD300/train_SSD300.sh (3) 部署算法 项目获取 h…...

Stable diffusion 加载扩展列表报错解决方法

项目场景: 在使用Stable diffusion webui时,使用扩展列表出现错误 问题描述 点击loadfrom后,出现加载扩展列表报错 原因分析: 下载的扩展的时候,都是github 的url,需要科学上网,如果不能科学…...

Git(8)之分支间同步特定提交

Git(8)之分支间同步特定提交 Author:Once Day Date:2024年4月7日 漫漫长路有人对你微笑过嘛… 全系列文章可查看专栏: Git使用记录_Once_day的博客-CSDN博客 文章目录 Git(8)之分支间同步特定提交1. 分支间同步提交2. cherry-pick同步分支间的特定提交…...

万得AI算法工程师一面面试题6道|含解析

节前,我们星球组织了一场算法岗技术&面试讨论会,邀请了一些互联网大厂朋友、参加社招和校招面试的同学,针对算法岗技术趋势、大模型落地项目经验分享、新手如何入门算法岗、该如何准备、面试常考点分享等热门话题进行了深入的讨论。 今天…...

蓝桥杯23年第十四届省赛-异或和之和|拆位、贡献法

题目链接: 蓝桥杯2023年第十四届省赛真题-异或和之和 - C语言网 (dotcpp.com) 1.异或和之和 - 蓝桥云课 (lanqiao.cn) 参考题解: 蓝桥杯真题讲解:异或和之和 (拆位、贡献法)-CSDN博客 洛谷P9236 [蓝桥杯 2023 省 A]…...

Unity进阶之路(1)回顾与思考

首先呢,博主在这里先反思一下自己这几个月,其实并没有多少进步。 在寒假中,博主几乎是独立编写了一个小程序的完整UI和一个Uniapp的雏形。那段时间是博主生产力最高的时间段。几乎是每天8点起来开始编写代码,晚上一直忙到很晚。 …...

【C语言】——指针八:指针运算笔试题解析

【C语言】——指针八:指针运算笔试题解析 一、题一二、题二三、题三四、题四五、题五六、题六七、题七 一、题一 //程序输出结果是什么 int main() {int a[5] { 1,2,3,4,5 };int* ptr (int*)(&a 1);printf("%d, %d", *(a 1), *(ptr - 1));return…...

JVM字节码与类的加载——class文件结构

文章目录 1、概述1.1、class文件的跨平台性1.2、编译器分类1.3、透过字节码指令看代码细节 2、虚拟机的基石:class文件2.1、字节码指令2.2、解读字节码方式 3、class文件结构3.1、魔数:class文件的标识3.2、class文件版本号3.3、常量池:存放所…...

小程序如何通过公众号发送新订单提醒

当客户在小程序上下单后,公众号会发送订单通知,这可以让管理员及时获知用户下单情况,方便及时处理订单和提供服务。下面是具体介绍如何设置公众号来发送订单服务通知。 方式一:通过采云公众号发送订单通知 此种方式是默认的通知…...

聊聊公众号最让我不爽的两个痛点

本文首发于 Python猫 微信公众号最让我不爽的地方有两个,而且有很多人虽然也不爽,却不知道原因。 本文想聊聊公众号的两个痛点,因为我经常收到私信问这两个问题,本文算是一次集中的回复吧。 第一个不爽的点是公众号会屏蔽外链&…...

【leetCode】2810. 故障键盘

文章目录 [2810. 故障键盘](https://leetcode.cn/problems/faulty-keyboard/)思路一:模拟代码:思路二:双端队列代码: 2810. 故障键盘 思路一:模拟 用StringBuilder来拼贴字符遍历字符串,如果遇到i,对拼贴好…...

xshell7连接ubuntu18.04

🎡导航小助手🎡 1.查看ubuntu IP2.开启openssh-server3.静态IP设置4.Xshell连接 1.查看ubuntu IP 输入下面命令查看IP ifconfig -a可以看到网卡是ens33,IP为192.168.3.180。 2.开启openssh-server 1、执行下句,下载SSH服务 s…...

真正的力量:实力与人际关系的平衡艺术

在当今社会,人们常常在追求个人发展和建立良好人际关系之间寻找平衡。有一种观点认为,“没有实力,就不要对别人好。不然,很容易被定义为讨好。”这句话在一定程度上揭示了实力与人际关系之间的微妙联系。本文将探讨这一观点的深层…...

Acwing.1388 游戏(区间DP对抗思想)

题目 玩家一和玩家二共同玩一个小游戏。 给定一个包含 N个正整数的序列。 由玩家一开始,双方交替行动。 每次行动可以在数列的两端之中任选一个数字将其取走,并给自己增加相应数字的分数。(双初始分都是 0分) 当所有数字都被…...

Numpy数组转换为csv文件

参考:Converting Numpy Array to CSV 在数据分析和处理中,经常会涉及到将数据从一个形式转换为另一个形式的操作。 其中,将Numpy数组转换为csv文件是一种常见的操作,因为csv文件是一种通用的数据存储格式,方便与其他软…...

替代安全指标(Surrogate Safety Measures (SSM) )

替代安全措施(Surrogate Safety Measures (SSM) )用于从数据中寻找接近碰撞,或可能发生(但实际没有发生)的碰撞事件。 SSM的两个合格标准: (1)它应该来自与碰撞直接相关的交通冲突&…...

usb_camera传输视频流编码的问题记录!

前言: 大家好,今天给大家分享的内容是,一个vip课程付费的朋友,在学习过程中遇到了一个usb采集的视频数据流,经过ffmpeg编码,出现了问题: 问题分析: 其实这个问题不难,关键…...

Linux安装nginx保姆级教程

文章目录 前言一、nginx安装(保姆级教程)1.安装nginx依赖2.安装wget3.创建nginx安装目录4.下载nginx5.查看下载好的nginx6.解压缩7.查看当前目录下的文件→进入nginx-1.8.0目录→查看当前目录下的文件8.安装nginx9.查看nginx安装目录并启动nginx10.网络请…...

leetcode-判断二分图

. - 力扣(LeetCode) 存在一个 无向图 ,图中有 n 个节点。其中每个节点都有一个介于 0 到 n - 1 之间的唯一编号。给你一个二维数组 graph ,其中 graph[u] 是一个节点数组,由节点 u 的邻接节点组成。形式上&#xff0c…...

算法day30 回溯6

332 重新安排行程 给你一份航线列表 tickets ,其中 tickets[i] [fromi, toi] 表示飞机出发和降落的机场地点。请你对该行程进行重新规划排序。 所有这些机票都属于一个从 JFK(肯尼迪国际机场)出发的先生,所以该行程必须从 JFK …...

分享three.js实现乐高小汽车

前言 Web脚本语言JavaScript入门容易,但是想要熟练掌握却需要几年的学习与实践,还要在弱类型开发语言中习惯于使用模块来构建你的代码,就像小时候玩的乐高积木一样。 应用程序的模块化理念,通过将实现隐藏在一个简单的接口后面&a…...

gpt的构造和原理

gpt是序列预测模型。 问答是通过确定问答格式样本训练出来的!比如“Q:xxxx.A:xxx"本质还是根据前面的序列预测后面的序列。在自回归训练过程中,文本序列(可能包含问题和紧随其后的答案)被视为一个整体输入到模型…...

基于springboot实现教师人事档案管理系统项目【项目源码+论文说明】计算机毕业设计

基于springboot实现IT技术交流和分享平台系统演示 摘要 我国科学技术的不断发展,计算机的应用日渐成熟,其强大的功能给人们留下深刻的印象,它已经应用到了人类社会的各个层次的领域,发挥着重要的不可替换的作用。信息管理作为计算…...

K8S之Job和CronJob控制器

这里写目录标题 Job概念适用场景使用案例 CronJob概念适用场景使用案例 Job 概念 Job控制器用于管理Pod对象运行一次性任务,例如:对数据库备份,可以直接在k8s上启动一个mysqldump备份程序,也可以启动一个pod,这个pod…...

php做动态网站实/58同城如何发广告

垃圾回收通常情况下,垃圾数据回收分为手动回收和自动回收两种策略。手动回收策略,何时分配内存、何时销毁内存都是由代码控制的。自动回收策略,产生的垃圾数据是由垃圾回收器来释放的,并不需要手动通过代码来释放。JavaScript 中调…...

做别墅装修的公司/辽宁seo推广

我们在项目过程中,有时候会遇到需要将两个数组合并成为一个的情况。 比如: 12var a [1,2,3];var b [4,5,6];有两个数组a、b,需求是将两个数组合并成一个。方法如下: 1、concat js的Array对象提供了一个叫concat()方法&#xff0…...

牛商网营销型网站多少钱/谷歌优化seo

C中 初始化和赋值是截然不同的两个概念 初始化&#xff1a;创建变量时赋予其一个初识值 赋值&#xff1a;把变量的当前值擦除&#xff0c;用新的值替代 初始化方式有多种&#xff1a; #include <iostream>int main() {int i1 0;int i2 {0};// 用花括号来初始化&#xf…...

怎么做新的网站/在百度上怎么发布信息

简介 commons-dbutils 是 Apache 组织提供的一个开源 JDBC工具类库&#xff0c;它是对JDBC的简单封装&#xff0c;学习成本极低&#xff0c;并且使用dbutils能极大简化jdbc编码的工作量&#xff0c;同时也不会影响程序的性能。 API介绍&#xff1a; org.apache.commons.dbutils…...

泰安手机网站建设/哈尔滨优化网站公司

数据预处理与数据分类预测 熵&#xff08;entropy&#xff09;指的是体系的混乱的程度&#xff0c;它在控制论、概率论、数论、天体物理、生命科学等领域都有重要应用&#xff0c;在不同的学科中也有引申出的更为具体的定义&#xff0c;是各领域十分重要的参量。 数据预处理 …...

做网站广告联盟赚钱/宁波seo网络推广咨询热线

mdev是busybox自带的一个简化版的udev。 作用是在系统启动和热插拔 或动态加载驱动程序时&#xff0c;自动产生驱动程序所需的节点文件&#xff0c;在文件系统中的/dev目录下的设备节点都是由mdev创建的 mdev扫描/sys/class和/sys/block中所有的类设备目录&#xff0c;如…...