由于ES接入的项目变多,之前所有索引都保留30天,现在需要根据业务不同,索引保留的天数可以配置,所以写了shell命令,可以根据配置删除过期索引,配合cron执行
索引按照天进行分隔,格式统一为:xxxx_yyyy.mm.dd
#/bin/bash
ES_URL="http://127.0.0.1:9200" #填写你的es对外http连接地址
ES_USER="username" #name代表你的你的es用户名
ES_PASSWORD="password" #password代表你的es用户密码
delete_index() {
echo -e "\nstart close and delete $1 days index"
beforeday=$(date -d '-'$1'days' +'%Y%m%d')
for i in `cat ./del_es_index_$1`; do
echo -e "\nstart to detect index of $i"
index_seq=`curl -s -u $ES_USER:$ES_PASSWORD $ES_URL/_cat/indices | awk '{print $3}' | grep "$i" | sort -n | sed -r 's/$i_(.*)/\1/'`
for j in `echo $index_seq`;do
indexday=`echo ${j:0-10}`
indexFormatDate=`echo $indexday | head -n 1 | sed 's/\.//g'`
if [[ $beforeday -ge $indexFormatDate ]]; then
echo -e "\n$(date '+%Y-%m-%d %H:%M:%S') es_index match successful,当前索引:\e[0;35m$j\e[0m"
curl -XPOST -u $ES_USER:$ES_PASSWORD "$ES_URL/$j/_close"
echo -e "$(date '+%Y-%m-%d %H:%M:%S') 索引\e[0;35m$j\e[0m, 关闭完成"
if [[ ` echo $? ` == 0 ]];then
curl -XDELETE -u $ES_USER:$ES_PASSWORD "$ES_URL/$j"
echo -e "$(date '+%Y-%m-%d %H:%M:%S') 索引\e[0;35m$j\e[0m, 删除完成"
else
echo -e "$(date '+%Y-%m-%d %H:%M:%S') 索引\e[0;35m$j\e[0m, 关闭失败,无法进行删除"
fi
else
echo -e "\n$(date '+%Y-%m-%d %H:%M:%S') es_index match fail,当前索引:\e[0;35m$j\e[0m"
echo -e "$(date '+%Y-%m-%d %H:%M:%S') 索引\e[0;35m$j\e[0m, 没有过期,不需要关闭,over.."
fi
done
done
}
delete_index 7 # 索引保留7天
delete_index 15 # 索引保留15天
在shell文件同目录放del_es_index_7,del_es_index_15两个文件,里面是需要保留7天或15天的索引名,不包括_yyyy.mm.dd,每个索引一行
如果要增加一个保留3天的配置,则新建del_es_index_3文件,并在shell里添加
delete_index 3 # 索引保留3天
分享到:
相关推荐
2. 配置Elasticsearch elasticsearch.bat即可启动。 启动后浏览器访问 127.0.0.1:9200 ,出现以下的json表示成功。 3.配置kibana Kibana启动时从文件kibana.yml读取属性。默认设置配置Kibana运行...
本文将深入探讨如何使用Node.js实现自动清理Elasticsearch中的过期索引,以保持系统的高效运行。 首先,理解Elasticsearch的索引管理是必要的。在ES中,索引是数据的逻辑分组,类似于传统数据库中的表。每个索引都...
Elasticsearch(ES)是一种基于Lucene的分布式、RESTful搜索和分析引擎,广泛用于大数据的实时分析和检索。在本讲座中,我们将深入探讨Elasticsearch中的索引概念及其重要性。 首先,让我们理解一下ES中的“索引”...
同时,确保正确安装和启动Elasticsearch服务,并根据需求调整索引设置,如分词器的选择、映射的定义等。 在压缩包文件`elsauto`中,可能包含了示例代码、配置文件或测试用例,可以帮助我们更好地理解和实现上述功能...
索引插件是Elasticsearch生态系统中的重要组成部分,它们扩展了Elasticsearch的功能,提供了更多管理和操作索引的便利性。"plugin-head"是其中一款知名的插件,主要用于提供一个直观的Web界面,帮助用户更轻松地管理...
Elasticsearch 是一个基于 Lucene 的搜索引擎,它提供了全文搜索的功能,并且可以用于处理各种数据。下面是一个简单的 Elasticsearch 使用 ...如果您的 Elasticsearch 服务配置有所不同,您需要相应地修改连接设置。
另一个文件`es配置修改.txt`可能是关于如何调整Elasticsearch配置以优化备份性能的指南。可能的修改包括: - **设置更大的堆内存**:备份大量数据时,可能需要增加Elasticsearch进程的堆内存限制。 - **调整线程池...
Java实现Elasticsearch的简单实例主要涉及以下几个关键知识点: 1. **Elasticsearch基础**:Elasticsearch(ES)是一个开源的、分布式全文搜索引擎,它提供了实时数据分析的能力,广泛用于日志分析、监控、搜索应用...
在本文中,我们将深入探讨如何使用Spring Boot与Elasticsearch 7.6.2进行基本操作,包括创建索引、添加数据以及查询数据。Elasticsearch是一个强大的分布式搜索引擎,而Spring Boot是Java开发中的轻量级框架,两者...
在Elasticsearch中,添加索引是数据存储和检索的基础操作。索引是Elasticsearch中的一个重要概念,它类似于传统数据库...在实际应用中,应根据数据特性选择合适的字段类型,并合理配置索引设置以满足性能和可用性需求。
elasticsearch索引流程,以前的笔记,希望有用
本文将深入探讨如何使用Elasticsearch(简称ES)与JavaWeb技术来实现关键词索引,并关联相关文章内容。Elasticsearch是一个分布式、RESTful风格的搜索和数据分析引擎,能够用于实时的全文搜索,同时提供分析和存储...
elasticsearch 同义词创建索引实例
在Elasticsearch中,索引恢复是一个关键的过程,它涉及到索引数据在集群节点间的重新分布或者从备份中恢复数据。本文将深入探讨Elasticsearch索引恢复的原理、原因及步骤。 一、索引恢复的原因 1. 节点故障:当...
在深入理解Elasticsearch(简称ES)的索引原理前,我们需要先明白基本概念。ES是一种分布式全文搜索引擎,它将数据存储在索引中,这些索引类似于关系型数据库中的数据库,但具备更高的可扩展性和实时性。索引可以...
Elasticsearch数据导出工具是一种高效实用的解决方案,它允许用户方便地从Elasticsearch(ES)集群中抽取数据,并将其导出到不同的目标,如MySQL数据库或本地文件系统。这款工具尤其适用于需要进行数据迁移、备份或...
Elasticsearch的不同版本有不同的默认设置,如7.0及以后版本,默认分片数和副本数都为1。 最后,根据业务需求和资源限制,适时调整索引设置,如开启或关闭特定功能,优化搜索分析器,使用过滤器,或者调整刷新间隔...
为了实现这些功能,我们需要在 Elasticsearch 配置中设置合适的分析器和插件。例如,对于拼音补全,我们需要在索引设置中指定 `pinyin` 分析器,并将字段分析器配置为使用该分析器。同时,对于自动纠错,可以在搜索...
本主题聚焦于“Elasticsearch Java代码实现”,将深入探讨如何使用Java API来执行基本的操作,如创建索引、删除索引、更新索引、模糊搜索以及模糊全文搜索和精确查找。 首先,让我们从`ESManager.java`开始,这个类...