参考文档:https://www.cnblogs.com/Dev0ps/p/9493576.html
elasticsearch使用时间久了会产生大量索引占用磁盘空间,可以删除索引来释放
查看当前所有索引
curl '192.168.1.4:9200/_cat/indices?v'
1,删除指定索引
curl -XDELETE 192.168.1.4:9200/system-log-2019.05
其中system-log-2019.05为索引全称
2,删除多个索引
curl -XDELETE 192.168.1.4:9200/system-log-2019.05,system-log-2019.05
3,删除所有索引
curl -XDELETE 192.168.1.4:9200/_all 或者 curl -XDELETE 192.168.1.4:9200/*
通常不建议使用通配符,误删了后果就很严重了,所有的index都被删除了
禁止通配符为了安全起见,可以在elasticsearch.yml配置文件中设置禁用_all和*通配符
action.destructive_requires_name = true
这样就不能使用_all和*了
4,安装指定日期删除索引
前提索引大多是以日期为结尾一般格式为*.2019.05.30或者*.2019.05如下所示
书写删除索引脚本
delete_es_index.sh
#!/bin/bash #此脚本删除90天以上的es索引 #d_time为找出索引结尾为2019.03.01格式索引 d_time=$(date -d '-90days' +'%Y.%m.%d') #m_time为找出索引结尾为2019.03的格式索引 m_time=$(date -d '-90days' +'%Y.%m') /usr/bin/curl -XDELETE http://192.168.90.24:9200/*-${d_time} /usr/bin/curl -XDELETE http://192.168.90.24:9200/*-${m_time}
添加入定时任务每日执行即可