删除60天之前的elasticsearch索引

1、说明

索引一天生成一个,格式为:

filebeat-xxxx-xx-xx

2、脚本如下

#!/bin/bash

curl -XGET http://192.168.11.43:9200/_cat/indices?v  | grep 'filebeat' | awk '{print $3}' | sort -n | awk '{if(NR<60)print}' > name.list

cat name.list | while read line

do

curl -XDELETE "http://192.168.11.43:9200/"$(basename $line)""

done

解释说明;

过滤含有filebeat字段的索引名,后边日期按照从小到大排序,之后过滤出行号小于60的,也就是60天之前的索引名,把索引名导入到name.list文件。

循环删除过滤出的索引。

如果想要把脚本作为定时任务的话,可以把脚本加入到crontab定时计划中,每天执行或者每周执行一次。

参考;

https://www.cnblogs.com/kasumi/p/6479733.html


猜你喜欢

转载自blog.51cto.com/xiaoxiaozhou/2380178