Linux中新增計劃任務與Elasticsearch日誌自動清理
阿新 • • 發佈:2019-01-03
一、簡述
當日志傳送到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