首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在快照中找到Elasticsearch索引?

如何在快照中找到Elasticsearch索引?
EN

Stack Overflow用户
提问于 2016-10-11 08:47:08
回答 2查看 1.8K关注 0票数 3

我在AWS上运行了一个Elasticsearch集群,其中的快照如下所示

代码语言:javascript
复制
 {
     "snapshot": "2016-07-13_165430",
     "indices": [
        "analytical-2016-06-15",
        "analytical_2016-06-13",
        "analytical_2016-07-13",
        "operational-2016-06-15",
        "operational_2016-06-13",
        "operational_2016-07-13"
     ],
     "state": "SUCCESS",
     "start_time": "2016-10-10T23:54:33.705Z",
     "start_time_in_millis": 1476143673705,
     "end_time": "2016-10-10T23:54:44.893Z",
     "end_time_in_millis": 1476143684893,
     "duration_in_millis": 11188,
     "failures": [],
     "shards": {
        "total": 30,
        "failed": 0,
        "successful": 30
     }
  },
  {
     "snapshot": "2016-07-13_165546",
     "indices": [
        "analytical-2016-06-15",
        "analytical_2016-06-13",
        "analytical_2016-07-13",
        "operational-2016-06-15",
        "operational_2016-06-13",
        "operational_2016-07-13"
     ],
     "state": "SUCCESS",
     "start_time": "2016-10-10T23:55:48.808Z",
     "start_time_in_millis": 1476143748808,
     "end_time": "2016-10-10T23:55:52.420Z",
     "end_time_in_millis": 1476143752420,
     "duration_in_millis": 3612,
     "failures": [],
     "shards": {
        "total": 30,
        "failed": 0,
        "successful": 30
     }
  }

现在所有这些索引都与其他一些索引一起在线运行,例如:"analytical-2016-06-15",

"analytical_2016-06-13",

"analytical_2016-07-13",

“运营-2016-06-15”,

"operational_2016-06-13",

"operational_2016-07-13“

"operational_2016-09-13“

……

我需要检查我的索引是否已备份,以及它是否已备份在哪个快照中。

EN

回答 2

Stack Overflow用户

发布于 2021-06-19 00:30:41

我怀疑@air对查找许多快照中包含给定索引的快照很感兴趣;粘贴的示例只是快照历史记录的一个视图。如果您在一段时间内一直在拍摄每日快照,并且添加/删除了索引,那么手动搜索将是一项繁琐的工作。

似乎没有一个API调用“查找包含索引operational_2021-06-10的所有快照”,但这里有一个自动化选项:

代码语言:javascript
复制
 curl -XGET "http://cluster:9200/_snapshot/myrepo/*" |
   jq -c '.snapshots[] | select(.indices | index("operational_2021-06-10")) | { snapshot }'

{"snapshot":"daily-snap-2021.06.10-hjmskkjsryyq82asmxiuva"}
{"snapshot":"daily-snap-2021.06.11-eayyiiort0cx97r_jscara"}
{"snapshot":"daily-snap-2021.06.12-rmrsbmsespgf0_czu721hw"}
{"snapshot":"daily-snap-2021.06.13-meeoachori61w5r3n3qzaq"}
{"snapshot":"daily-snap-2021.06.14-espbnhuprcckqylk3xltwq"}
{"snapshot":"daily-snap-2021.06.15-sbosayasthinaudxaqw3pa"}
票数 1
EN

Stack Overflow用户

发布于 2016-10-11 12:47:37

我被你的问题搞糊涂了,因为你发布了快照json,它确切地告诉你在每个快照中备份了哪些索引。您需要遍历每个快照存储库中的每个快照(我认为您已经知道如何做),并查看每个快照中的索引。

这是AFAIK确定哪些索引已备份、何时由哪些快照备份的唯一方法。

下面是快照api的文档:https://www.elastic.co/guide/en/elasticsearch/reference/current/modules-snapshots.html

票数 -2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/39968861

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档