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 ... 然后就喊爹喊娘了,怕是亲爹妈也无奈摇肩. 话说,如果没有犯过错误,那你还算是程序猿(媛)麽?!没了偶尔 ...
随机推荐
- mysql-安装(windows版本)与登录
安装mysql 1.MySQL版本 mysql-5.6.35-winx64.zip 2.首先解压到安装目录 3.修改配置文件 复制my-default.ini 重命名为my.ini 然后修改mysql ...
- python小题目练习(十二)
题目:如下图所示 代码展示: """Author:mllContent:春节集五福Date:2020-01-17"""import rand ...
- 执行docker一系列命令失败
出现这种情况之后,执行下面的命令即可. systemctl restart docker
- 活动报名 | 如何基于开源项目 Tapdata PDK,快速完成数据源和目标的开发?
近日,Tapdata 启动 PDK 插件生态共建计划,宣布开源插件开发框架 Tapdata PDK,将自身的数据接口能力开放出来,帮助开发者根据实际需求,自助接入数据源和目标,快速开启「Data ...
- 基于ABP实现DDD--DDD相关概念
什么是DDD呢?领域驱动设计[DDD]是一种针对复杂需求的软件开发方法.将软件实现与不断发展的模型联系起来,专注于核心领域逻辑,而不是基础设施细节.DDD适用于复杂领域和大规模应用,而不是简单的C ...
- range函数的使用
循环结构终于会出现了 这章讲完差不多读者可以实现大部分程序了 range()函数 用于生成一个整数序列 内置函数:前面不需要加任何前缀,可以直接使用的函数 创建range对象的三种方式 range(s ...
- 非root源码安装gcc和cmake
一.安装cmake 1.下载cmale 下载地址:https://cmake.org/files tar -zxvf cmake-3.19.8.tar.gz cd cmake-3.19.8/ ./co ...
- 基于CentOS的IB网卡驱动安装
一.准备步骤 1.查看centos版本 cat /etc/issue或者cat /etc/redhat-release 2.查看linux版本 cat /proc/version或uname -a或 ...
- TCP/IP协议三次握手、四次断开
1.tcp报文格式 1行代表一个字节: 第一行:代表源端口和目的端口,分别占16位: 第二行:32位序列号:表示客户端向服务端发送的报文的序号是多少,这个序号是计算机随机生成的一个代表该报文的唯一标示 ...
- 2022-7-18 第五组 pan 面向对象
面向过程 向过程就是:面向过程,其实就是面向着具体的每一个步骤和过程,把每一个步骤和过程完成,然后由这些功能方法相互调用,完成需求. 面向对象 什么是面向对象: 面向对象思想就是不断的创建对象,使用对 ...