es清理脚本

#/bin/bash 

# 清理30天前的日格式的索引
CLEAR_TIME=`date -d "30 day ago" +%Y%m%d`
#CLEAR_TIME=`date +%Y%m%d`
TODAY=$(date +%F-%H:%M)
ES_Clear_Dir=/data/elasticsearch
ES_IP=192.168.1.100
ES_PORT=9200

#查找匹配清理日期的索引
curl -s -XGET $ES_IP:$ES_PORT/_cat/indices | awk '{print $3}' | grep $CLEAR_TIME > $ES_Clear_Dir/index.$CLEAR_TIME

echo ">>>>>>>>>>于 $TODAY 开始清理"$CLEAR_TIME"的索引<<<<<<<<<<" >> $ES_Clear_Dir/es_clear.log

for i in `cat $ES_Clear_Dir/index.$CLEAR_TIME`
    do
    sleep 3
    curl -s -XDELETE $ES_IP:$ES_PORT/$i
done

echo  ">>>>>>>>>>清理完成<<<<<<<<<<" >> $ES_Clear_Dir/es_clear.log

find $ES_Clear_Dir -name "index.20*" -type f -mtime 30 -exec rm -rf {} \;

echo -e "\n" >> $ES_Clear_Dir/es_clear.log

posted @ 2023-06-12 10:57  安生丶  阅读(56)  评论(0编辑  收藏  举报