elasticsearch数据备份与还原恢复

elasticsearch数据备份与还原恢复



1.在浏览器中运行http://ipaddress:9200/_flush,这样确保索引数据能保存到硬盘中。


2.原数据的备份。主要是elasticsearch数据目录下的nodes目录的备份。nodes目录为索引数据目录。


3.将原集群中的每个elasticsearch节点下的data目录拷贝至新的elasticsearch数据目录下。

4 利用快照来备份还原。

下面是备份及还原的脚本,分别存成 esback.sh,esrestore.sh,并 chmod 777 esback.sh.给予执行权限

脚本如下:

-----自动备份elasticsearch数据并压缩---
#!/bin/bash
filename=`date +%Y%m%d%H`
backesFile=es$filename.tar.gz
cd /home/elasticsearch/back
mkdir es_dump
cd es_dump
curl -XDELETE 192.168.1.7:9200/_snapshot/backup/$filename?pretty
echo 'sleep 30'
sleep 30
curl -XPUT 192.168.1.7:9200/_snapshot/backup/$filename?wait_for_completion=true&pretty
echo 'sleep 30'
sleep 30
cp /home/elasticsearch/snapshot/* /home/elasticsearch/back/es_dump -rf
cd ..
tar czf $backesFile  es_dump/
rm es_dump -rf 


-----自动解压并还原elasticsearch数据---
#!/bin/bash
filename='2015040314'
backesFile=es$filename.tar.gz
cd /home/elasticsearch/back
tar zxvf $backesFile
rm /home/elasticsearch/snapshot/* -rf
cp /home/elasticsearch/back/es_dump/* /home/elasticsearch/snapshot -rf


curl -XPOST 192.168.1.7:9200/users/_close
curl -XPOST 192.168.1.7:9200/products/_close
echo 'sleep 5'
sleep 5
curl -XPOST 192.168.1.7:9200/_snapshot/backup/$filename/_restore?pretty -d '{
"indices":"users"
}' 
echo 'sleep 5'
sleep 5
curl -XPOST 192.168.1.7:9200/_snapshot/backup/$filename/_restore?pretty -d '{
"indices":"products"
}'
echo 'sleep 5'
sleep 5
curl -XPOST 192.168.1.7:9200/users/_open
curl -XPOST 192.168.1.7:9200/products/_open 
rm es_dump -rf 

---end----

备份的脚本有几个前提条件

1 先创建快照存储库

--创建快照存储库 backup--


curl -XPUT 192.168.1.7:9200/_snapshot/backup -d '
{
"type":"fs",
"settings":{"location":"/home/elasticsearch/snapshot"}
}'

且/home/elasticsearch/snapshot 该目录要有权限

备份目录  /home/elasticsearch/back要先建好

还原的时候是按索引来分别还原的,可改成需要的方式

  • 2
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值