windows es数据定时备份

windows es数据定时备份

1.配置文件

进入elasticsearch-6.2.2\config文件下,修改elasticsearch.yml文件,末行添加:path.repo: [“D:/ERPHY/esbackup”],配置备份路径同时并在相应路径创建指定的文件夹

path.repo: D:/ERPHY/esbackup

2.建立备份仓库

  • cmd命令
curl -XPUT "http://localhost:9200/_snapshot/backup" -H "Content-Type: application/json" -d "{"""type""": """fs""","""settings""":{"""location""":"""D:/ERPHY/esbackup/esbackupData""","""compress""": "true","""max_snapshot_bytes_per_sec""":"""50mb""","""max_restore_bytes_per_sec""":"""50mb"""}}"
  • kibana-Dev Tools
PUT _snapshot/backup  
{  
  "type": "fs",  // 快照仓库的类型是文件系统类型(file system)  
  "settings": {  
    "location": "D:/ERPHY/esbackup/esbackupData",  // 快照仓库的文件存储位置,这里是"data_bk"目录  
    "compress": true,  // 启用压缩,这将减少快照文件的大小,但会增加CPU的使用  
    "max_snapshot_bytes_per_sec" : "50mb",  // 快照创建时的最大带宽限制,这里是每秒50MB  
    "max_restore_bytes_per_sec" : "50mb"  // 快照还原时的最大带宽限制,这里也是每秒50MB  
  }  
}

意思是创建了一个名为backup的备份仓库。仓库存储目录为D:/ERPHY/esbackup/esbackupData

3.备份数据

  • cmd命令
curl -XPUT "http://localhost:9200/_snapshot/backup/snapshot_1?wait_for_completion=true" 
  • kibana-Dev Tools
PUT _snapshot/backup/snapshot_1?wait_for_completion=true

意思是在仓库backup备份了一个命名为snapshot_1的备份记录

4.查看备份数据

  • cmd命令
curl -XGET "http://localhost:9200/_snapshot/backup/_all"
  • kibana-Dev Tools
GET _snapshot/backup/_all

5.还原

1).备份data文件夹

data文件夹其实就是当前ES的数据存储地,防止恢复数据出现异常,先把ES目录下面的data目录备份一下。

2).清空数据

恢复数据以前,先把当前ES的数据清空掉。

  • cmd命令
curl -XDELETE "http://localhost:9200/_all"
  • kibana-Dev Tools
DELETE _all

返回结果以下,则说明清空数据成功。

{
    "acknowledged": true
}

3).恢复数据

  • cmd命令
curl -XPOST "http://localhost:9200/_snapshot/backup/snapshot_1/_restore"
  • kibana-Dev Tools
POST _snapshot/backup/snapshot_1/_restore

返回结果以下,则说明恢复数据成功。

{
    "accepted": true
}

6.删除备份数据

  • cmd命令
curl -XDELETE "http://localhost:9200/_snapshot/backup/snapshot_1"
  • kibana-Dev Tools
DELETE _snapshot/backup/snapshot_1

返回 则说明删除成功。

{
    "acknowledged": true
}

7.定时执行备份

1.)设置脚本esbackup.bat

@echo off

REM 获取当前日期并格式化为YYYY-MM-DD
for /f "tokens=2 delims==" %%I in ('wmic os get localdatetime /value') do set datetime=%%I
set year=%datetime:~0,4%
set month=%datetime:~4,2%
set day=%datetime:~6,2%
set formatted_date=%year%-%month%-%day%

REM 执行curl命令备份快照
curl -XPUT "http://localhost:9200/_snapshot/backup/snapshot_%formatted_date%?wait_for_completion=true"

2.在windows设置定时计划

使用Windows任务计划程序设置一个新任务,将该批处理文件作为操作执行,并设置触发器来定时运行该任务。这样就可以实现定时执行Elasticsearch快照备份的功能了。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

ayou2020

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值