使用 https://github.com/taskrabbit/elasticsearch-dump
安装 nodejs, npm后使用 npm install elasticdump -g安装。
使用参考:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
ES=http://search-es-0.search-es.app.svc.cluster.local:9200 ED=http://es-0.es.infra.svc.cluster.local:9200 for index in `curl -s -XGET $ES/_cat/indices?h=i` do # settings, analyzer, data, mapping, alias, template echo "elasticdump --input=$ES/$index --output=$ED/$index" elasticdump --input=$ES/$index --output=$ED/$index --limit=10000 --type=settings --searchBody '{"query": { "match_all": {} }, "stored_fields": ["*"], "_source": true }' elasticdump --input=$ES/$index --output=$ED/$index --limit=10000 --type=analyzer --searchBody '{"query": { "match_all": {} }, "stored_fields": ["*"], "_source": true }' elasticdump --input=$ES/$index --output=$ED/$index --limit=10000 --type=alias --searchBody '{"query": { "match_all": {} }, "stored_fields": ["*"], "_source": true }' elasticdump --input=$ES/$index --output=$ED/$index --limit=10000 --type=template --searchBody '{"query": { "match_all": {} }, "stored_fields": ["*"], "_source": true }' elasticdump --input=$ES/$index --output=$ED/$index --limit=10000 --type=mapping --searchBody '{"query": { "match_all": {} }, "stored_fields": ["*"], "_source": true }' elasticdump --input=$ES/$index --output=$ED/$index --limit=10000 --type=data --searchBody '{"query": { "match_all": {} }, "stored_fields": ["*"], "_source": true }' echo "" done |