删除指定索引
1
2
3
|
# curl -XDELETE -u elastic:changeme http://localhost:9200/acc-apply-2018.08.09
{"acknowledged":true}
|
删除多个指定索引
1
2
|
# 中间用逗号分隔
# curl -XDELETE -u elastic:changeme http://localhost:9200/acc-apply-2018.08.09,acc-apply-2018.08.10
|
模糊匹配删除
1
2
3
|
# curl -XDELETE -u elastic:changeme http://localhost:9200/acc-apply-*
{"acknowledged":true}
|
删除所有的索引
1
2
|
curl -XDELETE http://localhost:9200/_all
或 curl -XDELETE http://localhost:9200/*
|
_all,* 通配所有的索引,通常不建议使用通配符,误删了后果就很严重了,所有的index都被删除了,为了安全起见,可以在elasticsearch.yml配置文件中设置禁用_all和 * 通配符action.destructive_requires_name = true,这样就不能使用_all和 * 了
获取当前索引
1
|
# curl -u elastic:changeme 'localhost:9200/_cat/indices?v'
|
定时删除
如果存储不够可以设置定时删除,下面是保留3天的日志
1
|
30 2 * * * /usr/bin/curl -XDELETE -u elastic:changeme http://localhost:9200/*-$(date -d '-3days' +'%Y.%m.%d') >/dev/null 2>&1
|
以下是定时删除脚本:
1
2
3
|
#!/bin/bash
time=$(date -d '-3days' +'%Y.%m.%d')
curl -XDELETE -u elastic:changeme http://localhost:9200/*-${time}
|