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

Linux按照日期定时删除elasticsearch索引

使用sh脚本删除


searchIndex=filebeat
elastic_url=192.168.98.136
elastic_port=9200
saveday=7


date2stamp () {
    date --utc --date "$1" +%s
}

dateDiff (){
    case $1 in
        -s)   sec=1;      shift;;
        -m)   sec=60;     shift;;
        -h)   sec=3600;   shift;;
        -d)   sec=86400;  shift;;
        *)    sec=86400;;
    esac
    dte1=$(date2stamp $1)
    dte2=$(date2stamp $2)
    diffSec=$((dte2-dte1))
    if [ ${diffSec} -lt 0 ]; then abs=-1; else abs=1; fi
    echo $((diffSec/sec*abs))
}


for index in $(curl -s "${elastic_url}:${elastic_port}/_cat/indices?v" | grep  "${searchIndex}" | grep "_log-20[0-9][0-9]\.[0-1][0-9]\.[0-3][0-9]" | awk '{print$3}'); do
        date=$(echo ${index##*-} | sed 's/\./-/g')
        cond=$(date +%Y-%m-%d)
        diff=$(dateDiff -d $date $cond)
        echo -n "${index}****diff**** (${diff})"
        if [ $diff -gt ${saveday} ]; then
          echo "!!!DELETE ${index}"
          curl -XDELETE "${elastic_url}:${elastic_port}/${index}?pretty"
        else
          echo ""
        fi
done

添加定时

crontab -e

# 添加以下内容
00 03 * * * /usr/local/elk/elasticsearch-8.17.0/delete_es_by_day.sh > /dev/null 2>&1

#验证是否已添加
crontab -l|tail -2

参考: elasticsearch按照日期定时删除索引
参考: removing-old-indices-in-elasticsearch

相关文章:

  • 适合开发独立数据库SaaS系统的编程语言选择
  • 解决ExtJS 6/7无限滚动表格/列表(infinite: true)无法在触屏Windows浏览器上触摸滚动
  • mysql的源码包安装
  • 【redis】redis内存管理,过期策略与淘汰策略
  • QT串口通信之二,实现单个温湿度传感器数据的采集(采用Qt-modbus实现)
  • 【深度学习】Transformer 的常见的位置编码有哪些
  • 4. MySQL 逻辑架构说明
  • k8s集群部署
  • 深入解析JVM垃圾回收机制
  • podman加速器配置,harbor镜像仓库部署
  • QT(5.15)之QGC(4.4)安装教程
  • springboot3整合knife4j详细版,包会!(不带swagger2玩)
  • 讯飞离线唤醒+离线Vosk识别+DeepSeek大模型+讯飞离线合成持续优化,无限可能~
  • 【Qt】可爱的窗口关闭确认弹窗实现
  • ZT9 游游的字母翻倍
  • 开源AI网络爬虫工具Crawl4AI
  • vue3学习--Vue3与2的区别
  • 分布式服务配置中心
  • STM32-智能台灯项目
  • 游戏开发 游戏开始界面
  • 软件定制开发是货物还是服务/广东seo价格是多少钱
  • 上海建网站/站长工具seo综合查询访问
  • 找做网站的个人/软文代发代理
  • 深圳做网站公司地点/湖南网站优化
  • 网站设计大全推荐/佛山seo网站排名
  • 招聘网站推广怎么做/人民日报今天新闻