es索引定期删除脚本

2023-05-19 19:54:04 浏览数 (1)

代码语言:javascript复制
#/bin/bash
#指定日期(30天前)
Clear_Time=`date -d "30 days ago"  %Y.%m.%d`
Today=`date`

#拿到15天以前的索引,输出到以15天为时间命名的文件中 如:index.2021.10.12
curl -s -XGET -u elastic:t1Nc9SSHBiFOQK01R44l 'http://172.16.30.247:9200/_cat/indices' |awk '{print $3}'|grep $Clear_Time > /opt/clear_index/index.$Clear_Time

#声明清理动作 (最终会在crontab定义的/opt/ES_Timing_Clear/es_clear.log日志中看到操作)
echo "In $Today start to clear "$Clear_Time" 's old indices>>>>>>>>"

#对新输出到index文件内的索引 进行删除
for i in `cat /opt/clear_index/index.$Clear_Time`
    do
    sleep 3
    curl -s -XDELETE -u elastic:xxxxx http://172.16.30.247:9200/$i
done

echo "======================="
echo        "清理完成"
echo "======================="

0 人点赞