參考文檔: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}
添加入定時任務每日執行即可