Elasticsearch备份和恢复

-----------------------备份---------------------------------------------
1.创建一个仓库(creating the repository),用来存储备份文件
修改es配置文件elasticsearch.yml
在最后面添加如下参数,该参数为备份路径
path.repo: /opt/elasticsearch-6.5.0/esbak

在linux下执行如下
curl -H "Content-Type: application/json" -XPUT http://192.168.1.85:9200/_snapshot/my_backup -d'{
    "type": "fs", 
    "settings": {
        "location": "/opt/elasticsearch-6.5.0/esbak" 
    }
}'
上面的代码,我们创建了一个名叫my_backup 的备份,存放在本地的/opt/elasticsearch-6.5.0/esbak目录下.

2.备份所有数据库
仓库创建好之后就可以开始备份了。一个仓库可以包含多个快照(snapshots),快照可以存所有的索引,部分索引或者一个单独的索引。可以给索引指定一个唯一的名字
curl -XPUT http://192.168.1.85:9200/_snapshot/my_backup/snapshot_1

上面的代码会将所有正在运行的索引,备份到my_backup仓库下一个叫snapshot_1的快照中。
上面的api会立刻返回,然后备份工作在后台运行。如果你想api同步执行,可以加wait_for_completion标志
curl -XPUT http://192.168.1.85:9200/_snapshot/my_backup/snapshot_1?wait_for_completion=true

3.备份指定的数据库
curl -H "Content-Type: application/json" -XPUT http://192.168.1.85:9200/_snapshot/my_backup/snapshot_2 -d '{
    "indices": "db_customer"
}'

4.查看备份信息
curl -XGET http://192.168.1.85:9200/_snapshot/my_backup/snapshot_2

-----------------------------恢复-----------------------------------
1.删除记录
curl -XDELETE 'http://192.168.1.85:9200/db_customer/tb_test/1'

2.删除索引
curl -XDELETE http://192.168.1.85:9200/db_customer

3.恢复
curl -XPOST http://192.168.1.85:9200/_snapshot/my_backup/snapshot_2/_restore
posted @   slnngk  阅读(383)  评论(0编辑  收藏  举报
编辑推荐:
· AI与.NET技术实操系列(二):开始使用ML.NET
· 记一次.NET内存居高不下排查解决与启示
· 探究高空视频全景AR技术的实现原理
· 理解Rust引用及其生命周期标识(上)
· 浏览器原生「磁吸」效果!Anchor Positioning 锚点定位神器解析
阅读排行:
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?
点击右上角即可分享
微信分享提示