zoukankan      html  css  js  c++  java
  • 定时删除ES索引,带有日期时间格式的索引,删除ES的shell脚本

    定时删除索引脚本

    索引格式如下,xxxx-yyyy-mm-dd

     代码如下:delete_index_over10day.sh

     1 #!/bin/bash
     2 #删除索引格式:xxxx-2020-03-25
     3 ###################################
     4 #删除早于3天的ES种的索引 --zm
     5 #添加到crontab,每天晚上11:45执行
     6 #45 23 * * * sh /root/delete_index_over10day.sh
     7 ###################################
     8 #主机IP
     9 host_ip="127.0.0.1:9200"
    10 #超过7天的索引将要删除
    11 delete_overday=10
    12 
    13 
    14 function delete_indices() {
    15     comp_date=`date -d "${delete_overday} day ago" +"%Y-%m-%d"`
    16     date1="$1 00:00:00"
    17     date2="$comp_date 00:00:00"
    18 
    19     t1=`date -d "$date1" +%s`
    20     t2=`date -d "$date2" +%s`
    21 
    22     index_name="$2-$1"
    23 
    24     if [ $t1 -le $t2 ]; then
    25         echo "$index_name Expired , will delete !"
    26         curl -XDELETE http://${host_ip}/${index_name}
    27     fi
    28 
    29 }
    30 
    31 curl -XGET http://${host_ip}/_cat/indices/jaeger-span-* | awk -F" " '{print $3}' | sed 's/jaeger-span-//g' | while read LINE
    32 do
    33     #调用索引删除函数
    34     delete_indices $LINE "jaeger-span"
    35     delete_indices $LINE "jaeger-service"
    36     echo "${LINE} index deleted !"
    37 done

     最后将该脚本执行文件加入crontab计划任务中。

  • 相关阅读:
    Java-MyBatis:MyBatis 3 入门
    Java-MyBatis-3.0:MyBatis 3 简介
    DB-MySQL:MySQL 教程
    DB-MySQL:MySQL GROUP BY
    DB-MySQL:MySQL 连接的使用
    人行
    PHP 面试题数组篇[ 整理中 ]
    java中Condition类的详细介绍(详解)
    java中Condition类的详细介绍(详解)
    java中Condition类的详细介绍(详解)
  • 原文地址:https://www.cnblogs.com/zzming/p/12608188.html
Copyright © 2011-2022 走看看