python - 定时清理ES 索引

Posted ztot

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python - 定时清理ES 索引相关的知识,希望对你有一定的参考价值。

只保留三天

#!/usr/bin/env python3
# -*- coding:utf-8 -*-
import os
import datetime

# 时间转化为字符串

now_time = datetime.datetime.now().strptime(datetime.datetime.now().strftime("%Y.%m.%d"),"%Y.%m.%d")
os.system("curl -XGET http://127.0.0.1:9200/_cat/indices > date.txt")

with open("date.txt","r") as f:
    for line in f.readlines():
        index = line.strip().split()[2]

        try:
            index_strftime = datetime.datetime.strptime(index.split("-")[-1], "%Y.%m.%d")
            Ca = (now_time - index_strftime)
            if str(Ca).split()[0] == "0:00:00":
                continue
            elif int(str(Ca).split()[0]) >= 3:
                command = "curl -XDELETE http://127.0.0.1:9200/%s" % index
                print(command)
                os.system(command)
            else:
                print(index,"no del")
        except:
            pass

加入到定时任务即可

以上是关于python - 定时清理ES 索引的主要内容,如果未能解决你的问题,请参考以下文章

es数据清理

Elasticsearch索引定时清理

linux12企业实战 -- 42ESindex 索引清理

定时 清理 elasticsearch 6.5.4 的 索引 文件

自动清理ES索引脚本

elasticsearch(es)定时删除7天前索引