elasticdump备份还原.md

注意检查elasticdump 版本是否兼容elk,5.0及以上版本的elk需要使用elasticdump 3.0以上的版本才能兼容,可使用elasticdump --help检查版本。

1、安装elasticdump

yum install -y epel-release
yum install -y npm
npm config set strict-ssl false        #设置npm 安装以http连接
npm install elasticdump -g

如果运行elasticdump命令时出现如下报错,需要对nodejs进行升级:

[root@localhost ~]# elasticdump --help

/usr/lib/node_modules/elasticdump/bin/elasticdump:60
for (var i of jsonParsedOpts) {
           ^^
SyntaxError: Unexpected identifier
    at Module._compile (module.js:439:25)
    at Object.Module._extensions..js (module.js:474:10)
.....

#升级nodejs
[root@localhost ~]# npm install -g n
[root@localhost ~]# n latest        #或者安装稳定版n stable

     install : node-v10.8.0
       mkdir : /usr/local/n/versions/node/10.8.0
       fetch : https://nodejs.org/dist/v10.8.0/node-v10.8.0-linux-x64.tar.gz
######################################################################## 100.0%
   installed : v10.8.0

2、通过elasticdump备份索引数据

#备份为json文件
#input 指定elastic的访问地址格式为:{protocol}://{host}:{port}/{index},
[root@localhost elkbackup]# elasticdump --input=http://elastic:[email protected]:9200/nginx-access-2018.08* --output=/elkbackup/nginx-access-2018.08.json --type=data --headers='{"content-type": "application/json"}'

#直接备份压缩数据
[root@nagios elkbackup]# elasticdump --input=http://elastic:[email protected]:9200/nginx-access-2018.08* --output=$ --headers='{"content-type": "application/json"}' | gzip > /elkbackup/nginx-access-2018.08.json.gz

3、通过elasticdump还原索引数据

[root@nagios elkbackup]# elasticdump --output=http://elastic:[email protected]:9200 --input=/elkbackup/nginx-access-2018.08.json --type=data --headers='{"content-type": "application/json"}'

官方参考文档:https://www.npmjs.com/package/elasticdump/v/3.3.19

你可能感兴趣的:(elasticdump备份还原.md)