elasticsearch 刪除N天前的索引腳本

#!/bin/sh


function delIndex()
{
        index_name=$1
        savedays=$2
        while [ $savedays -le $3 ]
        do

                format_day='%Y.%m.%d'
                sevendayago=`date -d "-${savedays} day " +${format_day}`
                index=$index_name$sevendayago
                #echo $sevendayago
                echo $index
                curl -XDELETE "http://127.0.0.1:9200/${index}"
                #exit 0
                savedays=`expr $savedays + 1`
        done
}

function closeIndex()
{
        index_name=$1
        savedays=$2
        while [ $savedays -le $3 ]
        do

                format_day='%Y.%m.%d'
                sevendayago=`date -d "-${savedays} day " +${format_day}`
                index=$index_name$sevendayago
                #echo $sevendayago
                echo $index
                curl -XPOST "http://127.0.0.1:9200/${index_name}/_close?pretty"
                #exit 0
                savedays=`expr $savedays + 1`
        done
}
closeIndex 'logstash-' 10 20
delIndex 'logstash-' 50 100

將上面的代碼保存爲sh文件,然後加到crontab裏就可以每天刪除50天~100天前的數據了

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章