elasticsearch7.16.0
备份工具 elasticsearch-dump (docker 版)
如果需要设置定时任务,需要使用使用elasticsearch-dump编译的二进制文件,需要nodejs、npm环境。
docker pull elasticdump/elasticsearch-dump
需要备份data和mapping数据。
curl -X GET 'http://root:password@127.0.0.1:9200/_cat/indices'
备份data和mapping数据
docker run --rm -ti --name elasticsearch-dump -v /data/ES_Bakup:/tmp elasticdump/elasticsearch-dump \
--input='http://root:password@es_address:9200/your_bakup_index' \
--output=/tmp/your_bakup_index_data.json \
--type=data
docker run --rm -ti --name elasticsearch-dump -v /data/ES_Bakup:/tmp elasticdump/elasticsearch-dump \
--input='http://root:password@es_address:9200/your_bakup_index' \
--output=/tmp/your_bakup_index_mapping.json \
--type=mapping
导入data和mapping数据
docker run --rm -ti --name elasticsearch-dump -v /data/ES_Bakup:/tmp elasticdump/elasticsearch-dump \
--input=/tmp/your_bakup_index_data.json \
--output='http://root:password@es_address:9200/your_restore_index' \
--type=data
docker run --rm -ti --name elasticsearch-dump -v /data/ES_Bakup:/tmp elasticdump/elasticsearch-dump \
--input=/tmp/your_bakup_index_mapping.json \
--output='http://root:password@es_address:9200/your_restore_index' \
--type=mapping
备份时需要注意es数据库端口9200防火墙开放情况