elk的备份与恢复

elasticsearch提供了快照功能:

1、在elsticsearch的配置文件中定义一个path.repo路径配置

path.repo: ["/elk/my_backup"]

重新启动elasticsearch服务

创建备份的文件夹并赋予权限

mkdir -p /elk/my_backup

chmod 755 /elk/my_backup

chown -R elasticsearch.elasticsearch /elk/*

创建repository:

curl -XPUT ‘http://192.168.0.224:9200/_snapshot/backup‘ -d ‘

{

"type": "fs",                //表示类型为文件系统

"settings": {

"location": "/elk/my_backup/backup",                //存储的路径

"compress": true                //是否支持压缩

}

}‘

查看repository信息

$ curl -XGET ‘http://192.168.0.224:9200/_snapshot/backup?pretty‘

2、创建快照

备份工作在后台运行

$ curl -XPUT ‘http://192.168.0.224:9200/_snapshot/backup/snapshot_1(快照名)‘

同步执行,加wait_for_completion 标志,备份完成后才返回,如果数据量大的话,会花很长时间

$ curl -XPUT ‘http://192.168.212.190:9200/_snapshot/my_backup/snapshot_2?wait_for_completion=true‘

如果只想备份部分索引的话,可以加上indices 参数:

$ curl -XPUT ‘http://192.168.212.190:9200/_snapshot/my_backup/snapshot_3‘ -d ‘

{

"indices": "index_1,index_2",

"ignore_indices": "missing"

}‘

查看备份信息

$ curl -XGET ‘http://192.168.0.224:9200/_snapshot/backup/snapshot_2‘

如果要查看所有索引的信息,使用如下api:

$ curl -XGET ‘http://192.168.0.224:9200/_snapshot/backup/_all‘

另外还有个一api可以看到更加详细的信息:

$ curl -XGET ‘http://192.168.0.224:9200/_snapshot/backup/snapshot_2/_status‘

删除备份

$ curl -XDELETE ‘http://192.168.0.224:9200/_snapshot/backup/snapshot_2‘



备份脚本

[[email protected] elk]# vim esback.sh

#!/bin/bash

#elasticsearch备份脚本

#快照的名字

filename=`date +%Y%m%d%H`

#备份的文件名

backesFile=es$filename.tar.gz

cd /elk/my_backup

mkdir es_dump

cd es_dump

#删除之前的快照,$filename为上一次快照的名字

curl -XDELETE "192.168.0.224:9200/_snapshot/backup/$filename?pretty"

echo ‘sleep 30‘

sleep 30

#创建一个快照

curl -XPUT "192.168.0.224:9200/_snapshot/backup/$filename?wait_for_completion=true&pretty"

echo ‘sleep 30‘

sleep 30

#拷贝仓库内的快照到一个文件并打包

cp  -a /elk/my_backup/backup/* /elk/my_backup/es_dump

cd ..

tar czf $backesFile  es_dump/

rm es_dump -rf



3、恢复

恢复snapshot_1里的全部索引:

$ curl -XPOST ‘http://192.168.0.224:9200/_snapshot/backup/snapshot_1/_restore‘

api额外的参数:

$ curl -XPOST ‘http://192.168.0.224:9200/_snapshot/backup/snapshot_1/_restore‘ -d ‘

{

"indices": "index_1",

"rename_pattern": "index_(.+)",

"rename_replacement": "restored_index_$1"

}‘

indices: 设置只恢复index_1索引

rename_pattern 和rename_replacement: 用来正则匹配要恢复的索引,并且重命名。和备份一样,api会立刻返回值,然后在后台执行恢复,使用wait_for_completion 标记强制同步执行。

以使用下面两个api查看状态

$ curl -XGET ‘http://192.168.0.224:9200/_recovery/‘



[[email protected] elk]# vim esrestore.sh

#!/bin/bash

filename=‘2017033020‘

backesFile=es$filename.tar.gz

cd /elk/my_backup/

tar zxvf $backesFile

rm /elk/my_backup/backup/* -rf

cp -a /elk/my_backup/es_dump/* /elk/my_backup/backup

curl -XPOST "192.168.0.224:9200/logs*/_close"

curl -XPOST "192.168.0.224:9200/.kiba*/_close"

echo ‘sleep 5‘

sleep 5

curl -XPOST "192.168.0.224:9200/_snapshot/backup/$filename/_restore?pretty"

#curl -XPOST ‘192.168.0.224:9200/_snapshot/backup/$filename/_restore?pretty‘ -d ‘

#{

#    "indices":"logs*"

#}‘

echo ‘sleep 5‘

sleep 5

#curl -XPOST ‘192.168.0.224:9200/logs*/_open‘

#curl -XPOST ‘192.168.0.224:9200/.kiba*/_open‘

rm es_dump -rf



本文出自 “landanhero” 博客,请务必保留此出处http://landanhero.blog.51cto.com/788351/1912049

时间: 2024-11-09 06:06:38

elk的备份与恢复的相关文章

MySQL的备份与恢复具体解释

MySQL数据备份 在mySQL里面,有逻辑备份和物理备份.逻辑备份最大长处是对于各种存储引擎,都能够使用相同的方法来备份. 而物理备份则不同.不同的存储引擎有着不同的备份方法. 逻辑备份与恢复 备份 在MySQL中逻辑备份是使用mysqldump将数据库中的数据备份为一个文本文件,备份的文件能够被查看和编辑.依照备份范围,能够将备份分为下面三种备份. 备份指定的一个数据库或者该数据库中的某些表 mysqldump [options] 数据库名 [表名] > data.sql 备份指定的多个数据

ELK学习笔记(一)安装Elasticsearch、Kibana、Logstash和X-Pack

最近在学习ELK的时候踩了不少的坑,特此写个笔记记录下学习过程. 日志主要包括系统日志.应用程序日志和安全日志.系统运维和开发人员可以通过日志了解服务器软硬件信息.检查配置过程中的错误及错误发生的原因.经常分析日志可以了解服务器的负荷,性能安全性,从而及时采取措施纠正错误. 通常,日志被分散的储存不同的设备上.如果你管理数十上百台服务器,你还在使用依次登录每台机器的传统方法查阅日志.这样是不是感觉很繁琐和效率低下.当务之急我们使用集中化的日志管理,例如:开源的syslog,将所有服务器上的日志收

MySQL备份与恢复

body { font-family: Helvetica, arial, sans-serif; font-size: 14px; line-height: 1.6; padding-top: 10px; padding-bottom: 10px; background-color: white; padding: 30px } body>*:first-child { margin-top: 0 !important } body>*:last-child { margin-bottom:

42-2 mysql备份与恢复

02 mysql备份与恢复 实战:percona-xtrabackup备份还原数据库 原服务器:source 192.168.1.133 CentOS7.2  备份服务器:restore 192.168.1.132 CentOS7.2 1.使用indobackupex进行完全备份 [[email protected] ~]# yum install percona-xtrabackup-2.3.2-1.el7.x86_64.rpm [[email protected] ~]# rpm -ql p

ELK集中日志管理系统安装部署

一.简介 1.ELK介绍 ELK Stack 是 Elasticsearch.Logstash.Kibana 三个开源软件的组合.在实时数据检索和分析场合,三者通常是配合共用,而且又都先后归于 Elastic.co 公司名下,故有此简称. ELK Stack 在最近两年迅速崛起,成为机器数据分析,或者说实时日志处理领域,开源界的第一选择. ELK由三个组建构成: Elasticsearch,负责数据的索引和存储 Logstash ,负责日志的采集和格式化 Kibana,负责前端统计的展示 大致的

centos6.5下的elk部署

1.介绍 elk是实时日志分析平台,主要是为开发和运维人员提供实时的日志分析,方便人员更好的了解系统状态和代码问题. 2.elk中的e(elasticsearch): (2.1)先安装依赖包,官方文档说明使用java1.8 yum -y install java-1.8.0-openjdk 安装elasticsearch: tar zvxf elasticsearch-1.7.0.tar.gz mv elasticsearch-1.7.0 /usr/local/elasticsearch vim

ELK环境部署与群集配置

一.ELK是什么? 1.1  ELK由来 ELK是elasticsearch,logstash,kibana  这三个工具的简称 1.2  ELK三个组件的介绍 Elasticsearch是个开源分布式搜索引擎,它的特点有:分布式,零配置,自动发现,索引自动分片,索引副本机制,restful风格接口,多数据源,自动搜索负载等. Logstash是一个完全开源的工具,他可以对你的日志进行收集.过滤,并将其存储供以后使用(如,搜索). Kibana 也是一个开源和免费的工具,它Kibana可以为 L

web day16 数据库 完整性约束,mySQL编码问题,备份与恢复,多表查询

约束 * 约束是添加在列上的,用来约束列的! 1. 主键约束(唯一标识) ****非空*** ****唯一*** ****被引用**** * 当表的某一列被指定为主键后,该列就不能为空,不能有重复值出现. * 创建表时指定主键的两种方式: > CREATE TABLE stu( sid      CHAR(6) PRIMARY KEY, sname     VARCHAR(20), age         INT, gender     VARCHAR(10) ); 指定sid列为主键列,即为s

Oracle 和SQL server中数据备份与恢复

Oracle 侧 创建一个表,将现有表数据导入其中. create Table  TB_NYU_TENDERTBL_BAK   as  select *  from  TB_NYU_TENDERTBL  where  1=1 删除原来表内容. DELETE  FROM TB_NYU_TENDERTBL 恢复表的内容 insert  into TB_NYU_TENDERTBL  select  * from  TB_NYU_TENDERTBL_BAK SQL server侧 select  * i