1. 程式人生 > >Linux中新增計劃任務與Elasticsearch日誌自動清理

Linux中新增計劃任務與Elasticsearch日誌自動清理

一、簡述

  當日志傳送到ELK之後,Elasticsearch隨著日誌的增加,佔用磁碟量會越來越大。這時候,需要我們寫角本定期DELETE日誌。角本寫法,也很簡單,只是傳送HTTP的DELETE方式到:http://<ip>:<port>/*-yyyy.MM.dd*即可。

  

 

二、定期刪除Elasticsearch中日誌的角本:新建一個es-index-clear.sh到/opt目錄下,內容如下:

#/bin/bash
#es-index-clear
#只保留15天內的日誌索引
LAST_DATA=`date -d "-15 days" "+%Y.%m.%d
"` #刪除上個月份所有的索引 curl -XDELETE 'http://127.0.0.1:9200/*-'${LAST_DATA}'*'

三、使用crontab -e新增定時任務:執行crontab -e,在開啟的內容中,輸入(前面‘0  * * * *’表示Cron表示式,可以參考我前面的文章):

  比如下列表示每小時整時執行一次:

0 * * * * root /opt/es-index-clear.sh

  如果要每天凌晨執行一次:

0 0 * * * root /opt/es-index-clear.sh

 

四、啟動定時任務,並開機自動執行

systemctl enable crond
systemctl restart crond
systemctl status crond