Fork me on GitHub

Elasticsearch定时删除索引第二版

该版本对于上一个版本做了升级。兼容性更好了。

#!/bin/bash
#######################################################
# $Name:        clean_index.sh
# $Version:     v2.0
# $Function:    delete es index
# $Author:      dongjiaxiao
# $Create Date: 2019-12-31
# $Description: shell
######################################################
#脚本的日志文件路径
CLEAN_LOG="/home/djx/scripts/clean_index.log"
#es地址
SERVER_PORT=172.17.1.212:9200
#保留的时间,单位天
DELTIME=45
SECONDS=$(date -d  "$(date  +%F) -${DELTIME} days" +%s)
INDEXS=$(curl -s -u  elastic:changeme  "${SERVER_PORT}/_cat/indices?v"|awk '{print $3}')
echo "-------------------$(date +%F_%T)---------------"  >>${CLEAN_LOG}
for del_index in ${INDEXS}
do 
     timeString=$( echo ${del_index} |awk -F"-" '{print $NF}'|egrep "[0-9]*\.[0-9]*\.[0-9]*")
     if [ -n "$timeString" ]
     then
         indexDate=${timeString//./-}
         indexSecond=$( date -d ${indexDate} +%s )
         if [ $(( $SECONDS- $indexSecond )) -gt 0 ]
         then
             delResult=`curl -s -u elastic:changeme  -XDELETE "${SERVER_PORT}/"${del_index}"?pretty" |sed -n '2p'`
             echo "delete index:$del_index result:$delResult" >>${CLEAN_LOG}
         fi
     fi
     
done 

小更新

#!/bin/bash
#######################################################
# $Name:        clean_index.sh
# $Version:     v2.0
# $Function:    delete es index
# $Author:      dongjiaxiao
# $Create Date: 2023-2-2
# $Description: shell
######################################################
#脚本的日志文件路径
CLEAN_LOG="/opt/scripts/clean_index.log"
#es地址
SERVER_PORT=127.0.0.1:9200
USER="elastic"
PASSWORD=""
#保留的时间,单位天
DELTIME=60
SECONDS=$(date -d  "$(date  +%F) -${DELTIME} days" +%s)
INDEXS=$(curl -s -u  ${USER}:${PASSWORD}  "${SERVER_PORT}/_cat/indices?v"|awk '{print $3}')
echo "-------------------$(date +%F_%T)---------------"  >>${CLEAN_LOG}
for del_index in ${INDEXS}
do 
     timeString=$( echo ${del_index} |awk -F"-" '{print $NF}'|egrep "[0-9]*\.[0-9]*\.[0-9]*")
     if [ -n "$timeString" ]
     then
         indexDate=${timeString//./-}
         indexSecond=$( date -d ${indexDate} +%s )
         if [ $(( $SECONDS- $indexSecond )) -gt 0 ]
         then
             delResult=`curl -s -u ${USER}:${PASSWORD}  -XDELETE "${SERVER_PORT}/"${del_index}"?pretty" |sed -n '2p'`
             echo "delete index:$del_index result:$delResult" >>${CLEAN_LOG}
         fi
     fi
done 
posted @   自由早晚乱余生  阅读(1942)  评论(1编辑  收藏  举报
编辑推荐:
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
阅读排行:
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· 没有Manus邀请码?试试免邀请码的MGX或者开源的OpenManus吧
点击右上角即可分享
微信分享提示