当前位置: 首页 > news >正文

ElasticSearch索引数据备份与恢复

索引数据备份

在磁盘创建备份目录并授权

# 创建备份目录
/home/esbackup
# 授权
chmod 777 /home/esbackup

修改配置文件elasticsearch.yml

echo 'path.repo: ["/home/esbackup"]' >> /etc/elasticsearch/elasticsearch.yml

重启elasticsearch(我是docker创建的,所以上述两条命令在docker中执行,可提前挂载)

docker restart elasticsearch

打开kibana控制台-开发者选项

新建备份仓库

PUT _snapshot/esbackup 
{"type": "fs", "settings": {"location": "/home/esbackup" }
}

查看备份仓库

GET _snapshot

备份置顶索引

snapshot_20230223这个名随便起,一般以时间为名

# 备份指定索引
PUT _snapshot/esbackup/snapshot_20230223
{"indices": "索引名"
}

查看备份情况

# 查看备份情况
GET _snapshot/esbackup/snapshot_20230223/_status
GET _snapshot/esbackup/snapshot_20230223

成功标志

image-20230223153133850

索引数据恢复

删除之前的索引

DELETE /索引名

从备份过的快照恢复

POST /_snapshot/esbackup/snapshot_20230223/_restore

查看恢复状态,状态码返回200即可

GET _recovery
GET 索引名/_recovery

删除指定快照

DELETE _snapshot/esbackup/快照名

每日备份的shell脚本,供参考

#!/bin/bash# 执行快照备份
time=$(date "+%Y%m%d")
logfile="/tmp/esbacklogs/"${time}".log"curl -s -u elastic:changme -XPUT "http://127.0.0.1:9200/_snapshot/esbackup/snapshot_"${time} -H 'Content-Type: application/json' -d'
{"indices": "test_index, test_index2"
}'# 快照备份需要一定时间,60s后检查备份情况
sleep 60echo ""
curl -s -u elastic:changme -XGET "http://127.0.0.1:9200/_snapshot/esbackup/snapshot_"${time} | grep "SUCCESS" >> $logfileif [ $? -eq 0 ]
thenecho "backup elasticsearch success" >> $logfile
elseecho "backup elasticsearch fail" >> $logfile
fi
echo ""# 删除10天前的快照
delete_time=$(date "+%Y%m%d" -d " -10 day")
curl -s -u elastic:changme -XDELETE "http://127.0.0.1:9200/_snapshot/esbackup/snapshot_"${delete_time} >> $logfile
http://www.lryc.cn/news/305039.html

相关文章:

  • kubernetes日志收集 fluent-operator 动态索引名的实现
  • pip换源
  • 7.(数据结构)堆
  • AWS Elastic Beanstalk通过应用负载均衡配置https
  • AC自动机:文本搜索的加速器
  • 备战蓝桥杯---基础算法刷题1
  • 探索 Flutter 中的动画:使用 flutter_animate
  • 装机容量对光伏发电量的影响有多大?如何通过装机容量计算发电量?
  • 软考37-上午题-【数据库】-数据模型、数据库的三级模式和二级映像
  • 06 分频器设计
  • 力扣hot100题解(python版7-9题)
  • ECMAScript 6+ 新特性 ( 四 ) 迭代器 与 生成器
  • 【MySQL】事务的一致性究竟怎么理解?
  • 证件照(兼容H5,APP,小程序)
  • pytorch-textregression,中文文本回归实践,支持多值输出
  • go语言学而思【持续更新】
  • LVS-NAT之VMNET环境搭建
  • [TCP] TCP/IP 基础知识词典(2)
  • 【牛牛送书 | 第四期】《高效使用Redis:一书学透数据存储与高可用集群》带你快速学习使用Redis
  • Threejs 实现3D影像地图,Json地图,地图下钻
  • 根据Excel创建管道系统及材质
  • 第八篇【传奇开心果系列】python的文本和语音相互转换库技术点案例示例:Google Text-to-Speech虚拟现实(VR)沉浸式体验经典案例
  • ubuntu使用LLVM官方发布的tar.xz来安装Clang编译器
  • Windows 远程控制 Mac 电脑怎么操作
  • c# HttpCookie操作,建立cookie工具类
  • 【这个词(Sequence-to-Sequence)在深度学习中怎么解释,有什么作用?】
  • 挑战30天学完Python:Day16 日期时间
  • Web3之光:揭秘数字创新的未来
  • Stable Diffusio——采样方法使用与原理详解
  • 小米14 ULTRA:重新定义手机摄影的新篇章