elasticsearch删除90天前的索引
时间: 2023-09-21 15:03:29 浏览: 56
你想知道如何删除90天前的Elasticsearch索引是吗?可以通过创建一个Cron作业来自动化这个过程。
你需要安装一个插件来支持自动删除过期索引,这个插件叫Elasticsearch Curator。 Curator支持通过指定时间来删除过期索引。
首先,通过以下命令安装Elasticsearch Curator:
```
pip install elasticsearch-curator
```
安装完成后,您可以创建一个由Curator管理的删除索引的Cron作业。
示例Cron作业的格式如下:
```
0 */12 * * * curator --host localhost delete indices --older-than 90 --time-unit days --timestring '%Y.%m.%d'
```
上面的命令将删除90天以前的所有索引。这个命令的意思是,每12个小时运行一次Curator,连接到本地主机,使用timestring格式yyyy.MM.dd查找所有90天前的索引,并将其删除。
如果您想尝试其他删除规则,可以访问Curator的官方文档。
相关问题
Elasticsearch 如何删除索引指定时间前的信息
你可以使用 Elasticsearch 的 Index Lifecycle Management (索引生命周期管理,简称 ILM) 功能来删除索引中指定时间前的信息。
ILM 可以帮助你自动管理索引的生命周期,包括创建、删除、转移、压缩、备份、快照和恢复等。其中,删除操作可以基于时间或索引大小等条件进行配置。
以下是一个示例 ILM 策略,可以删除索引中 30 天前的文档:
```json
{
"policy": {
"phases": {
"delete": {
"min_age": "30d",
"actions": {
"delete": {}
}
}
}
}
}
```
在此示例中,`min_age` 参数指定了要删除的文档的最小年龄,即 30 天。当索引到达此年龄时,ILM 将自动删除该索引。
要使用 ILM,你需要首先创建一个策略,然后将其应用于索引。你可以使用 Elasticsearch 的 API 或 Kibana 界面来完成这些操作。详细信息请参阅 Elasticsearch 的官方文档。
我想写一删除es三十天前索引的脚本
我可以给你一个示例脚本,你可以在里面指定时间范围,以删除30天前的索引:
```
DELETE /_all
{
"query": {
"range" : {
"@timestamp" : {
"lt" : "now-30d"
}
}
}
}
```