从零开始的Linux运维屌丝之路,资源免费分享平台   运维人员首选:简单、易用、高效、安全、稳定、社区活跃的开源软件

es定期清理索引

发布:蔺要红05-06分类: ELK

#/bin/sh

all_index=$(curl -u elastic:xxxxxxxx -s 192.168.13.127:9200/_cat/indices?v | awk '{print $3}' | grep -v "^\." | grep -v "index")

delete_index(){
    curl -u elastic:xxxxxxxx -s -XDELETE 192.168.13.127:9200/$1
    echo "delete $1"
}

for i in ${all_index[*]}; do
    # 如果是ingress日志
    if [[ $i =~ ingress ]];then
        # 15天前的日期
        t15=`date -d "-15 days" +%Y%m%d`
        # 索引名字里面的时间
        date=$(echo $i | awk -F '-' '{print $NF}' | sed 's/\.//g')
        if [ $date -lt $t15 ];then
            delete_index $i
        fi
    else
        # 如果不是ingress日志
        # 删除7天前的索引
        t7=`date -d "-7 days" +%Y%m%d`
        date=$(echo $i | awk -F '-' '{print $NF}' | sed 's/\.//g')
        if [ $date -lt $t7 ];then
            delete_index $i
        fi
    fi

done
温馨提示如有转载或引用以上内容之必要,敬请将本文链接作为出处标注,如有侵权我会在24小时之内删除!

欢迎使用手机扫描访问本站