当前位置: 首页 > article >正文

ES索引数据清理脚本示例

说明:我得索引是按月份创建的,索引名后面都有yyyy.MM

需求:删除三个月以前的索引,清理收集的应用日志数据,释放磁盘空间 

#!/bin/bash

# 定义 Elasticsearch 节点的地址
ELASTICSEARCH_HOST="192.168.53.100"
ELASTICSEARCH_PORT="9200"

# 计算三个月之前的年月
THREE_MONTHS_AGO=$(date -d "3 months ago" +"%Y.%m")

# 要清理的索引前缀
INDEX_PREFIXES=("myapp" "ruoyiapp")

# 循环遍历索引前缀
for prefix in "${INDEX_PREFIXES[@]}"
do
    # 构建索引名称
    INDEX_NAME="$prefix-$THREE_MONTHS_AGO"
    
    # 使用 curl 发送删除索引的请求
    curl -X DELETE "$ELASTICSEARCH_HOST:$ELASTICSEARCH_PORT/$INDEX_NAME"
done

在此示例中,我们定义了 Elasticsearch 节点的地址和端口。然后,我们使用 date 命令计算了三个月之前的年月,并将其存储在变量 THREE_MONTHS_AGO 中。接着,我们定义了一个包含要清理的索引前缀的数组 INDEX_PREFIXES,然后使用循环遍历该数组,构建索引名称并使用 curl 发送 DELETE 请求来删除指定的索引。

请注意,由于日期计算可能因操作系统而异,以上示例中的日期计算部分(date -d "3 months ago" +"%Y.%m")可能需要根据您的操作系统进行相应的修改。另外,请根据实际情况修改脚本中的 Elasticsearch 节点地址。由于删除操作可能对数据造成永久性影响,请务必在生产环境中谨慎使用。


http://www.kler.cn/a/136111.html

相关文章:

  • JAVA开发时获取用户信息失败,分析后端日志信息
  • C语言进阶(2) ---- 指针的进阶
  • 自然语言处理学什么
  • 【Linux】结构化命令:for命令
  • 使用k6进行kafka负载测试
  • 【Linux】Macvlan介绍及LInux下例子实现
  • 01背包 P1507 NASA的食物计划
  • 十一、统一网关GateWay(搭建网关、过滤器、跨越解决)
  • 傅里叶级数@正弦级数和余弦级数@奇偶延拓和周期延拓
  • mysql清除数据痕迹_MySQL使用痕迹清理~/.mysql_history - milantgh
  • 【手撕数据结构】(三)顺序表和链表
  • PyCharm:PyCharm新建.py文件时自动带出指定内容
  • 服务器端请求伪造(SSRF)
  • 提高matlab运算效率——预分配内存
  • [github配置] 远程访问仓库以及问题解决
  • 数据结构02附录01:顺序表考研习题[C++]
  • 前端入门(二)Vue2到Vue3
  • golang学习笔记——要求用户输入一个数字,如果该数字为负数,则进入紧急状态
  • 试用无线调试器PowerDebugger小记
  • ES6有何新特性?(下篇)
  • 【C语法学习】26 - strcat()函数
  • 智能门禁刷脸照片格式gif、bmp,png转换,转换base64
  • 力扣labuladong——一刷day44
  • 网络参考模型与标准协议(一)
  • ORA-00600 【3948】,ORA-00600 【3949】
  • 何时使用Elasticsearch而不是MySql?