定時刪除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計划任務中。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM