java查询es restore_ES(elasticsearch)备份还原脚本
在作es backup和es restore(导入)时,需要停es集群中的data节点,只保留master节点。
以下图说明,星号标识的为master节点,其他为data节点。
停两个节点之前,可以在页面上确认红色标示的docs值,再停两个data节点,检查运行着的节点其docs值与停之前一致。
备份脚本es_backup.sh
#!/bin/bash
filename=`date +%Y%m%d%H`
backesFile=es$filename.tar.gz
mkdir -p /xor/elasticsearch/es_snapshot
mkdir -p /xor/elasticsearch/es_backup/es_dump
es_backup_dir=/xor/elasticsearch/es_backup
es_snapshot_dir=/xor/elasticsearch/es_snapshot
chmod -R 777 $es_snapshot_dir
curl -XPUT localhost:9200/_snapshot/es_snapshot -d '{"type":"fs","settings":{"location":"/xor/elasticsearch/es_snapshot"}}'
cd $es_backup_dir/es_dump
curl -XDELETE localhost:9200/_snapshot/es_snapshot/$filename?
echo -e '\nsleep 5\n'
sleep 10
curl -XPUT localhost:9200/_snapshot/es_snapshot/$filename?wait_for_completion=true
echo -e '\nsleep 5\n'
sleep 5
cp $es_snapshot_dir/* $es_backup_dir/es_dump -rf
cd ..
tar czf $backesFile es_dump/
rm es_dump -rf
cd $es_snapshot_dir
rm * -rf
echo -e '\nes data backup succeed!\n'
还原脚本es_restore.sh
#!/bin/bash
filename=$1
backesFile=es$filename.tar.gz
mkdir -p /xor/data2/packages/aqua/backup/es/es_snapshot
mkdir -p /xor/data2/packages/aqua/backup/es/es_backup/es_dump
es_backup_dir=/xor/data2/packages/aqua/backup/es/es_backup
es_snapshot_dir=/xor/data2/packages/aqua/backup/es/es_snapshot
chmod -R 777 $es_snapshot_dir
curl -XPUT localhost:9200/_snapshot/es_snapshot -d '{"type":"fs","settings":{"location":"/xor/data2/packages/aqua/backup/es/es_snapshot"}}'
cd $es_backup_dir
tar zxvf $backesFile
rm $es_snapshot_dir/* -rf
cp $es_backup_dir/es_dump/* $es_snapshot_dir -rf
curl -XPOST localhost:9200/_all/_close
echo -e '\nsleep 5\n'
sleep 5
curl -XPOST localhost:9200/_snapshot/es_snapshot/$filename/_restore?
rm es_dump -rf
echo -e '\n es data restore succeed!'
es_delete_by_query.sh
用于删除es的数据。脚本需要传四个参数,参数依次为表名、时间字段名、开始时间、结束时间,示例如下:
./es_delete_by_query.sh vhsession view_begin_time 2018-01-10 00:00:00
2018-01-10 18:00:00
,时间区间包含上下界,时间字段也可以只传日期
#!/bin/sh
# example: sh ./es_delete_by_query.sh "bundle" "licensing_window_start" "2018-01-05 15:30:00" "2018-01-05 15:30:00"
# example: sh ./es_delete_by_query.sh "bundle" "licensing_window_start" "2018-01-05" "2018-01-06"
doc_type=$1
datefield=$2
start_time=$3
end_time=$4
if [ ! -n "$start_time" ]; then
echo "the start_time is empty,please input again...."
exit 1
else
tt=`date -d "$start_time" +"%FT%T+0800"`
if [ 0 -eq $? ]
then
start_time=$tt
else
exit 1
fi
fi
if [ ! -n "$end_time" ]; then
echo "the end_time is empty,please input again...."
exit 1
else
tt=`date -d "$end_time" +"%FT%T+0800"`
if [ 0 -eq $? ]
then
end_time=$tt
else
exit 1
fi
fi
echo "args: doc_type = ${doc_type},datefield = ${datefield}, start_time = ${start_time}, end_time = ${end_time}"
echo "query count response : "
curl -XPOST http://localhost:9200/aquapaassearch/${doc_type}/_count?pretty -d '
{
"query": {
"filtered": {
"filter": {
"bool": {
"must": {
"range": {
"'${datefield}'": {
"from": "'${start_time}'",
"to": "'${end_time}'",
"include_lower": true,
"include_upper": true
}
}
}
}
}
}
}
}'
read -p "please input '1'(otherwise not) to confirm if you need delete:" flag
if [ "1" = "$flag" ]; then
echo "delete response : "
curl -XDELETE http://localhost:9200/aquapaassearch/${doc_type}/_query?pretty -d '
{
"query": {
"filtered": {
"filter": {
"bool": {
"must": {
"range": {
"'${datefield}'": {
"from": "'${start_time}'",
"to": "'${end_time}'",
"include_lower": true,
"include_upper": true
}
}
}
}
}
}
}
}'
echo "delete sucess!!!"
else
echo "confirmed just query count!!!"
fi
java查询es restore_ES(elasticsearch)备份还原脚本相关推荐
- Java查询ES (elasticsearch) 对短句进行关键词摘要 并分词查询
项目场景: 提示:根据用户最近浏览的文章标题进行关键词摘要,并根据结果,查询ES 这里关键的是根据内容获取关键词摘要的方法 关键词摘要 使用IK中文分词 pom文件 <!--中文分析器--> ...
- java查询elasticsearch_JAVA使用ElasticSearch查询in和not in的实现方式
ElasticSearch Elasticsearch是一个基于Lucene的搜索服务器.它提供了一个分布式多用户能力的全文搜索引擎,基于RESTful web接口.Elasticsearch是用Ja ...
- SqlServer整库备份还原脚本
最近领导要求定时备份数据库(不是我的作业), 搜了一下资料还不少, 先mark一下, 得空再验证吧!!! 以下内容为转载 转自:https://www.cnblogs.com/want990/p/74 ...
- java查询es分词结果_ElasticSearch 分词器
ES内置的6种分词器 standard analyzer 标准分词器,未设置分词器时默认使用此分词器.在空格.符号处切,中文部分切割为一个一个的汉字. 切的意思是不要了.多个连续的空格算一个空格,符号 ...
- java操作es查询数据总量
通过java查询es的数据总量返回数据接口 public long rangeCount(String indexName, String timeFileds, String vehicleidFi ...
- es elasticsearch 几种常见查询场景 二次分组 java读取es的查询json文件
大家好,我是烤鸭: es中几种常见的查询场景,使用java读取es的json文件进行查询. es 中文使用手册. https://www.elastic.co/guide/cn/elasticsear ...
- java 查询 代码_java使用es查询的示例代码
众所周知,elasticsearch简称es,它是基于基于Lucene的搜索服务器.它提供了一个分布式多用户能力的全文搜索引擎,基于RESTful web接口.Elasticsearch是用Java开 ...
- elasticsearch数据备份还原
elasticsearch数据备份还原 1.在浏览器中运行http://XXX.XXX.XXX.XXX:9200/_flush,确保索引数据能保存到硬盘中. 2.原数据的备份.主要是elasticse ...
- ES(Elasticsearch)基本查询总结(含docker安装,python操作)
全栈工程师开发手册 (作者:栾鹏) 架构系列文章 官网:https://www.elastic.co/guide/index.html 搜索语法:https://www.elastic.co/guid ...
最新文章
- 人脸对齐--Face Alignment at 3000 FPS via Regressing Local Binary Features
- 【OpenCV3】直线拟合——cv::fitLine()详解
- C++设计模式之适配器模式
- sudo dpkg 找不到命令_【干货】Linux中实用但很小众的11个炫酷终端命令
- Django实战1-权限管理功能实现-01:搭建开发环境
- batchplot插件用法_Batchplot怎么安装及使用?Batchplot的安装方法及使用方法介绍
- blog群发王(价值1980元)源代码提供
- 20151210编译高通的qca9531的wireless版本 修改版本4
- 当索尼停产单反:好产品是怎么被时代「消融」的?
- 微信小程序开挂模式即将启动
- Linux 重命名文件和文件夹
- PyCharm 激活 截止日期2100年1月
- 漫步数学分析三十九——隐函数定理
- Linux正则表达式和文本处理工具(gred、awk、sed)
- 数学分析:换元积分法与分部积分法
- python下载视频工具
- 大数相乘 (模板)
- 半导体器件物理【21】PN结 —— 载流子分布、正偏反偏
- 设计模式 外观模式 一键电影模式
- Angular之HelloWorld——Angular(1)