Elasticsearch-shell脚本实现定时删除指定时间以前索引
〇、前言
因为elastiflow的数据量还是挺大的,接入了两台交换机的flow数据量已经开始有点大了。所以得写个脚本专门来清理索引
一、如何使用elastic的API
1.手动查询所有索引
在ELK 中加入了x-pack的
$ curl -XGET -u elastic:admins-1 'http://127.0.0.1:9200/_cat/indices?v'
没有加入x-pack的
$ curl -XGET 'http://127.0.0.1:9200/_cat/indices?v'
2.手动删除索引
在ELK 中加入了x-pack的
$ curl -XDELETE -u elastic:admins-1 'http://1127.0.0.1:9200/logstash-2019.04.01'
或
$ curl -XDELETE -u elastic:admins-1 'http://1127.0.0.1:9200/logstash-*'
没有加入x-pack的
$ curl -XDELETE 'http://1127.0.0.1:9200/logstash-2019.04.01'
或
$ curl -XDELETE 'http://1127.0.0.1:9200/logstash-*'
二、编写脚本
#!/bin/bash
# author:京东五星基础架构--带着泥土
#elasticsearch 的主机ip及端口
SERVER_PORT="127.0.0.1:9200"
#elasticsearch 账号
USER_NAME="*******"
#elasticsearch 密码
PASSWORD="*******"
LAST_DATA=`date -d "-10 days" "+%Y.%m.%d"`
function all_flow_index() {
echo "以下是所有的elastiflow索引"
echo "-------------------------------------"
curl -XGET -u $USER_NAME:$PASSWORD http://${SERVER_PORT}/_cat/indices/elastiflow-4.0.1-*
}
function today_flow_index() {
echo "以下是今天的elastiflow索引"
echo "-------------------------------------"
curl -XGET -u $USER_NAME:$PASSWORD http://${SERVER_PORT}/_cat/indices/elastiflow-4.0.1-$(date +%Y.%m.%d)
}
function delete_index() {
# 上面注释的这条是删除
curl -XDELETE -u $USER_NAME:$PASSWORD http://${SERVER_PORT}/elastiflow-4.0.1-${LAST_DATA}
#curl -XGET -u $USER_NAME:$PASSWORD http://${SERVER_PORT}/_cat/indices/elastiflow-4.0.1-${LAST_DATA}
}
delete_index
记得赋予脚本执行权限~
三、设定定时任务
crontab -e
0 1 * * * /root/clean-index.sh
Elasticsearch-shell脚本实现定时删除指定时间以前索引的更多相关文章
- MySQL定时任务event,储存过程(定时删除指定时间前90天指定表的数据)
MySQL定时任务event,储存过程(定时删除指定时间前90天指定表的数据) 分类: MySql5.x2014-06-23 15:16 1266人阅读 评论(0) 收藏 举报 mysql数据库 &l ...
- Git学习-->如何通过Shell脚本自动定时将Gitlab备份文件复制到远程服务器?
一.背景 在我之前的博客 git学习--> Gitlab如何进行备份恢复与迁移? (地址:http://blog.csdn.net/ouyang_peng/article/details/770 ...
- Windows 定时删除指定路径下N天前的日志文件
Windows 定时删除指定路径下N天前的日志文件 Windows 下bat脚本文件的内容为 1. 删除指定路径下5天前的所有文件 @echo off set SrcDir=E:\WORK\Git s ...
- CentOS/Linux内存占用大,用Shell脚本自动定时清除/释放内存
CentOS/Linux内存占用大,用Shell脚本自动定时清除/释放内存来自:互联网 时间:2020-03-22 阅读:114以下情况可能造成Linux内存占用过高服务配置存在直接分配错误,或隐性分 ...
- shell脚本一键同步集群时间
shell脚本一键同步集群时间 弋嘤捕大 椿澄辄 ψ壤 茇徜燕 ㄢ交涔沔 阚龇棚绍 テ趼蜱棣 灵打了个寒颤也没有去甩脱愣是拖着 喇吉辔 秋北酏崖 琮淄脸酷 茇呶剑 莲夤罱 陕遇骸淫 ...
- Centos7下crontab+shell脚本定期自动删除文件
问题描述: 最近有个需求,就是rsync每次同步的数据量很多,但是需要保留的数据库bak文件 保留7天就够了,所以需要自动清理文件夹内的bak文件 解决方案: 利用shell脚本来定期删除文件夹内的任 ...
- mysql定时删除当前时间前分钟的数据
mysql定时删除当前时间前分钟的数据 2013-01-31 0个评论 作者:上官车月 收藏 我要投稿 mysql定时删除当前时间前分钟的数据 Sql代码 www.2 ...
- 【linux】find删除指定时间之前的文件
今天磁盘满了,想删掉一些老的日志文件.开始想写个python脚本,转念一想,可能shell脚本好点.结果发现,根本不用写脚本,一个find指令就可以解决问题了. 先上指令 -exec rm {} \; ...
- ONLY三行脚本 SQL数据恢复到指定时间点
经常看到有人误删数据,或者误操作,特别是Update和Delete的时候没有加WHERE ... 然后就喊爹喊娘了,怕是亲爹妈也无奈摇肩. 话说,如果没有犯过错误,那你还算是程序猿(媛)麽?!没了偶尔 ...
随机推荐
- 【Java面试】简单说一下你对序列化和反序列化的理解
Hi,大家好,我是Mic 一个工作4年的粉丝,投了很多简历 好不容易接到一个互联网公司的面试邀约. 在面试第一轮就被干掉了,原因是对主流互联网技术理解太浅了. 其中就有一个这样的问题:"简单 ...
- 零基础学Java(3)运算符
运算符 运算符用于连接值.Java提供了一组丰富的算术和逻辑运算符以及数学函数. 算术运算符 在Java中,使用算术运算符+.-.*./表示加.减.乘.除运算.当参与/运算的两个操作数都是整数时,表示 ...
- JavaWEB04-Maven&Mybatis
今日内容 `Maven` Maven `Maven`概念&简介 Maven `Maven`安装配置 Maven `Maven`基本使用 Idea集成 `Idea`集成`Maven` Maven ...
- 从入门到爱上Git
时间不在于你拥有多少,而在于你怎样使用------时之沙 · 艾克 一.Git设置 1.1 Git全局设置 当我们安装好Git以后,我们需要对Git进行账号.邮箱的设置 设置用户信息 git conf ...
- javaWeb,web服务器
一. 1.ASP 国内最早最流行的语言就是ASP:微软研发 在HTML中嵌套了VB脚本,ASP+COM(网页元素) 在ASP开发中,基本一个业务就有几千行代码,页面机器混乱 维护成本高 <h1& ...
- Android刷第三方Recovery &获取root权限
一.基础环境 Make sure your computer has working adb and fastboot. Setup instructions can be found here. E ...
- Fiddler开启调试模式
分别键入以下命令 prefs set fiddler.debug.extensions.showerrors True prefs set fiddler.debug.extensions.verbo ...
- Kafka启动遇到ERROR Exiting Kafka due to fatal exception (kafka.Kafka$)
------------恢复内容开始------------ Kafka启动遇到ERROR Exiting Kafka due to fatal exception (kafka.Kafka$) 解决 ...
- 可落地的DDD(7)-战术设计上的一些误区
背景 几年前我总结过DDD战术设计的一些落地经验可落地的DDD(5)-战术设计,和一次关于聚合根的激烈讨论最近两年有些新的落地体验,回过头来发现,当初对这些概念的理解还是没有深入,这篇文章重新阐述下. ...
- 表单中设置了 `keyup.enter.native` 的按键事件,但是回车后没有执行查询,反而会刷新页面
场景 添加属性对话框中,input输入后点击 enter,不会执行绑定的 handleDialogQuery 事件,反而会刷新整个页面: 如果不点击 enter,点击搜索按钮,则是正常的. 又测试:在 ...