〇、前言

因为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脚本实现定时删除指定时间以前索引的更多相关文章

  1. MySQL定时任务event,储存过程(定时删除指定时间前90天指定表的数据)

    MySQL定时任务event,储存过程(定时删除指定时间前90天指定表的数据) 分类: MySql5.x2014-06-23 15:16 1266人阅读 评论(0) 收藏 举报 mysql数据库 &l ...

  2. Git学习-->如何通过Shell脚本自动定时将Gitlab备份文件复制到远程服务器?

    一.背景 在我之前的博客 git学习--> Gitlab如何进行备份恢复与迁移? (地址:http://blog.csdn.net/ouyang_peng/article/details/770 ...

  3. Windows 定时删除指定路径下N天前的日志文件

    Windows 定时删除指定路径下N天前的日志文件 Windows 下bat脚本文件的内容为 1. 删除指定路径下5天前的所有文件 @echo off set SrcDir=E:\WORK\Git s ...

  4. CentOS/Linux内存占用大,用Shell脚本自动定时清除/释放内存

    CentOS/Linux内存占用大,用Shell脚本自动定时清除/释放内存来自:互联网 时间:2020-03-22 阅读:114以下情况可能造成Linux内存占用过高服务配置存在直接分配错误,或隐性分 ...

  5. shell脚本一键同步集群时间

    shell脚本一键同步集群时间 弋嘤捕大 椿澄辄 ψ壤 茇徜燕 ㄢ交涔沔 阚龇棚绍 テ趼蜱棣 灵打了个寒颤也没有去甩脱愣是拖着 喇吉辔 秋北酏崖 琮淄脸酷 茇呶剑 莲夤罱 陕遇骸淫  ...

  6. Centos7下crontab+shell脚本定期自动删除文件

    问题描述: 最近有个需求,就是rsync每次同步的数据量很多,但是需要保留的数据库bak文件 保留7天就够了,所以需要自动清理文件夹内的bak文件 解决方案: 利用shell脚本来定期删除文件夹内的任 ...

  7. mysql定时删除当前时间前分钟的数据

    mysql定时删除当前时间前分钟的数据 2013-01-31      0个评论       作者:上官车月 收藏    我要投稿 mysql定时删除当前时间前分钟的数据   Sql代码  www.2 ...

  8. 【linux】find删除指定时间之前的文件

    今天磁盘满了,想删掉一些老的日志文件.开始想写个python脚本,转念一想,可能shell脚本好点.结果发现,根本不用写脚本,一个find指令就可以解决问题了. 先上指令 -exec rm {} \; ...

  9. ONLY三行脚本 SQL数据恢复到指定时间点

    经常看到有人误删数据,或者误操作,特别是Update和Delete的时候没有加WHERE ... 然后就喊爹喊娘了,怕是亲爹妈也无奈摇肩. 话说,如果没有犯过错误,那你还算是程序猿(媛)麽?!没了偶尔 ...

随机推荐

  1. vmware修改虚拟机网卡mac地址

    选中"虚拟机" 右键 "设置",然后选中"网络适配器",然后点击"高级",设置"MAC地址"

  2. Python列表解析式的正确使用方式(一)

    先来逼逼两句: Python 是一种极其多样化和强大的编程语言!当需要解决一个问题时,它有着不同的方法.在本文中,将会展示列表解析式 (List Comprehension).我们将讨论如何使用它?什 ...

  3. python写个前端,这不是轻轻松松~

    前端除了用js++css+html,还有没有其它办法?其实python也可以 1. 安装与基本流程 Python学习交流Q群:660193417### 安装 PyWebIO 和其他的第三方库一样使用p ...

  4. 鹏城杯 WEB_WP

    简单的PHP GET /?code=[~%8C%86%8C%8B%9A%92][~%CF]([~%9A%91%9B][~%CF]([~%98%9A%8B%9E%93%93%97%9A%9E%9B%9A ...

  5. (零)机器学习入门与经典算法之numpy的基本操作

    1.根据索引来获取元素* 创建一个索引列表ind,用来装载索引,当numpy数据是一维数据时:一个索引对应的是一个元素具体的例子如下: import numpy as np # 数据是一维数据时:索引 ...

  6. Training a classifier

    你已经学习了如何定义神经网络,计算损失和执行网络权重的更新. 现在你或许在思考. What about data? 通常当你需要处理图像,文本,音频,视频数据,你能够使用标准的python包将数据加载 ...

  7. SpringMVC指定配置文件位置和名称,控制Servlet的加载时间

    1. 2.

  8. java 九九乘法表(for循环)

    package study5ran2yl.study; public class ForDemo01 { public static void main(String[] args) { int h; ...

  9. 关于 Flink 状态与容错机制

    Flink 作为新一代基于事件流的.真正意义上的流批一体的大数据处理引擎,正在逐渐得到广大开发者们的青睐.就从我自身的视角看,最近也是在数据团队把一些原本由 Flume.SparkStreaming. ...

  10. 2022-7-12 javascript(2) 第七组 刘昀航

    @ 目录 2022-7-12学习 第七组 刘昀航 前情提要 一.for循环 二.for in循环 三.while 和 do...while循环 1.while do... while 四.内置函数 五 ...