#/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