当前位置: > 其它学习 > Elasticsearch >

删除60天之前的elasticsearch索引

时间:2019-12-27 13:48来源:未知 作者:IT
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定时计划中,每天执行或者每周执行一次。
 
 
 
(责任编辑:IT)
------分隔线----------------------------