elasticdump备份elasticsearch里面的某个索引数据
1、 安装环境
需要node、npm、yarn
# 去官方下载最新版本的nodejs
#wget https://nodejs.org/dist/v6.10.2/node-v6.10.2-linux-x64.tar.xz --no-check-certificate
# npm install –g yarn
# yarn install –g elasticdump
2、 备份操作
!备份到文件:
# elasticdump --input=http://192.168.1.11:9200/userlog --output=/data/userlog.json --type=data
!备份到另外的索引
# elasticdump --input=http://192.168.1.11:9200/userlog --output=http://192.168.1.11:9200/userlognew --type=data
3、 恢复索引
# elasticdump --input=/data/userlog.json --output=http://192.168.1.11:9200/userlog --type=data
以下摘自https://www.npmjs.com/package/elasticdump
# Copy an index from production to staging with analyzer and mapping:
elasticdump
--input=http://production.es.com:9200/my_index
--output=http://staging.es.com:9200/my_index
--type=analyzer
elasticdump
--input=http://production.es.com:9200/my_index
--output=http://staging.es.com:9200/my_index
--type=mapping
elasticdump
--input=http://production.es.com:9200/my_index
--output=http://staging.es.com:9200/my_index
--type=data
# Backup index data to a file:
elasticdump
--input=http://production.es.com:9200/my_index
--output=/data/my_index_mapping.json
--type=mapping
elasticdump
--input=http://production.es.com:9200/my_index
--output=/data/my_index.json
--type=data
# Backup and index to a gzip using stdout:
elasticdump
--input=http://production.es.com:9200/my_index
--output=$
| gzip > /data/my_index.json.gz
# Backup the results of a query to a file
elasticdump
--input=http://production.es.com:9200/my_index
--output=query.json
--searchBody '{"query":{"term":{"username": "admin"}}}'
Docker install
# docker pull taskrabbit/elasticsearch-dump
# docker run --rm -ti taskrabbit/elasticsearch-dump
you'll need to mount your file storage dir -v <your dumps dir>:<your mount point>
to your docker container:挂载存储目录,存储备份数据