Elasticsearch定时删除索引

DevOps ELK评论1,758字数 269阅读0分53秒阅读模式

不带账号密码

#!/bin/bash
source /etc/profile
#定义删除30天以前的函数
delete_indices(){
    check_day=`date -d '-30 days' '+%F'`
    index_day=$1
    #将日期转换为时间戳
    check_day_timestamp=`date -d "$check_day" +%s`
    index_day_timestamp=`date -d "$index_day" +%s`
    #当索引的时间戳值小于当前日期30天前的时间戳时,删除此索引
    if [ ${index_day_timestamp} -lt ${check_day_timestamp} ];then
        #转换日期格式
        format_date=`echo $1 | sed 's/-/\./g'`
        curl -XDELETE http://39.97.226.254:9200/*$format_date
    fi
}

curl -XGET http://39.97.226.254:9200/_cat/indices | awk -F" " '{print $3}' | awk -F"-" '{print $NF}' | egrep "[0-9]*\.[0-9]*\.[0-9]*" | sort | uniq  | sed 's/\./-/g' | while read LINE
do
    #调用索引删除函数
    delete_indices $LINE
done

带账号和密码

#!/bin/bash
source /etc/profile
delete_indices(){
    check_day=`date -d '-10 days' '+%F'`
    index_day=$1
    check_day_timestamp=`date -d "$check_day" +%s`
    index_day_timestamp=`date -d "$index_day" +%s`
    if [ ${index_day_timestamp} -lt ${check_day_timestamp} ];then
        format_date=`echo $1 | sed 's/-/\./g'`
        curl -XDELETE -u elastic:inGDWRU!wS1EQJAL#2D4djpuy!AdB03xK http://127.0.0.1:9200/*$format_date
    fi
}

curl -XGET -u elastic:inGDWRU!wS1EQJAL#2D4djpuy!AdB03xK http://127.0.0.1:9200/_cat/indices | awk -F" " '{print $3}' | awk -F"-" '{print $NF}' | egrep "[0-9]*\.[0-9]*\.[0-9]*" | sort | uniq  | sed 's/\./-/g' | while read LINE
do
    delete_indices $LINE
done

继续阅读
 
DevOps
  • 本文由 DevOps 发表于 2022年5月5日 14:42:02
  • 除非特殊声明,本站文章均为原创,转载请务必保留本文链接
yum安装Logstash ELK

yum安装Logstash

下载rpm包 [root@ip-172-31-0-46 ~]# wget https://artifacts.elastic.co/downloads/logstash/logstash-7.17.0...
EFK集群[案例] ELK

EFK集群[案例]

Elasticsearch集群配置信息 硬件配置信息 机器名/节点名 IP 内存 cpu 磁盘 us-prod-sre-eslog-node-1 10.0.3.77 32GB 16vcpu 7T us...
python定时清理ES 索引 ELK

python定时清理ES 索引

只保留三天 #!/usr/bin/env python3 # -*- coding:utf-8 -*- import os import datetime # 时间转化为字符串 now_time = ...

发表评论