一,删除所有别名
#!/bin/bash
# Elasticsearch 地址
ES_HOST="http://localhost:9200"
content=$(curl -s -X GET "$ES_HOST/_alias/*")
# echo $content
# 获取所有alias
indexes=$(echo $content | jq 'keys[]')
# 删除所有alias
for index in $indexes; do
# 去掉索引名字的双引号
indexone=$(echo $index | tr -d '"')
echo $indexone
# 得到索引对应的别名,也去掉双引号
onearr=$(echo $content | jq '.'${indexone})
oneali=$(echo $onearr | jq '.aliases | keys[]')
oneali2=$(echo $oneali | tr -d '"')
echo $oneali2
# 删除别名
curl -XPOST "$ES_HOST/_aliases" -H "Content-Type: application/json" -d '{"actions" : [{ "remove" : { "index" : "'$indexone'","alias" : "'$oneali2'" } }]}'
done
echo "所有索引的别名已删除。"
二,删除所有索引
#!/bin/bash
# Elasticsearch 地址
ES_HOST="http://localhost:9200"
# 用json格式得到所有索引
content=$(curl -s -X GET "$ES_HOST/_cat/indices?format=json")
# echo $content
# 获取所有索引的名字
indexes=$(echo $content | jq -r '.[].index')
# 遍历所有索引
for index in $indexes; do
echo $index
# 删除索引
curl -X DELETE "$ES_HOST/$index"
done
echo "所有索引已删除。"
没有回复内容