数据备份:
基础配置
1、创建备份目录
#创建目录
mkdir -p /data/esdata/backup
#设置权限
chmod 755 /data/esdata/backup
#用户权限
chown esuser:esuser /data/esdata/backup
2、修改配置文件
修改elasticsearch.yml文件 , 添加配置项
path.repo: ["/data/esdata/backup"]
创建仓库
仓库支持的类型Shared filesystem, Amazon S3, HDFS、Azure Cloud
创建仓库datasvr ,目录为/data/esdata/backup
curl -H "Content-Type: application/json" -XPUT 'http://127.0.0.1:9200/_snapshot/datasvr' -d ' {"type":"fs","settings":{"location":"/data/esdata/backup","compress":true}}'
创建快照
即备份索引,一个仓库可以拥有同一个集群的多个快照。在一个集群中快照拥有一个唯一名字作为标识。创建名为snapshot_0718的快照:
curl -H "Content-Type:application/json" -XPUT '127.0.0.1:9200/_snapshot/datasvr/snapshot_0718'
同步执行 , 备份完成过后返回 ,添加wait_for_completion参数:
curl -H "Content-Type:application/json" -XPUT '127.0.0.1:9200/_snapshot/datasvr/snapshot_0718?wait_for_completion=true'
如果仅备份部分索引,可添加参数:
curl -H "Content-Type:application/json" -XPUT '127.0.0.1:9200/_snapshot/datasvr/snapshot_1' -d '{"indices":"index_1,index_2"}'
查看仓库信息
浏览器访问
http://127.0.0.1:9200/_snapshot/datasvr
返回结果:
{"datasvr":{"type":"fs","settings":{"compress":"true","location":"/data/esdata/backup"}}}
删除仓库
仅删除仓库存储快照的引用位置,不删快照
curl -X DELETE "127.0.0.1:9200/_snapshot/datasvr"
删除快照
curl -X DELETE "127.0.0.1:9200/_snapshot/datasvr/snapshot_0718"
数据恢复
curl -H "Content-Type:application/json" -XPOST '127.0.0.1:9200/_snapshot/datasvr/snapshot_0718/_restore'
api封装成shell脚本来操作备份和恢复操作更为方便
网友评论