elasticsearch的索引自動清理及自定義清理


近發現elasticsearch近期索引文件大的嚇人,清理了下之前的索引文件,發現服務器性能大大的減輕了一半,想一直保留近一個月的索引文件,但是又不想每個月手動清楚,在此寫了一個小腳本

查詢索引:

curl -XGET 'http://127.0.0.1:9200/_cat/indices/?v'

一、 手動刪除

rm -rf *2017-03-*

二、api刪除

curl -XDELETE 'http://127.0.0.1:9200/logstash-2016-07-*'

清理掉了所有 3月份的索引文件,我發現curl 刪除比rm刪除要快出很多

三、腳本加api刪除(推薦)

 cat es-index-clear.sh

復制代碼

#/bin/bash

#指定日期(7天前)
DATA=`date -d "1 week ago" +%Y.%m.%d`

#當前日期
time=`date`

#刪除7天前的日志
curl -XDELETE http://127.0.0.1:9200/*-${DATA}

if [ $? -eq 0 ];then
echo $time"-->del $DATA log success.." >> /tmp/es-index-clear.log
else
echo $time"-->del $DATA log fail.." >> /tmp/es-index-clear.log
fi

復制代碼

 

四、添加到任務計划

crontab -e
10 1 * * * sh /tmp/es-index-clear.sh > /dev/null 2>&1

 

 

轉自:http://www.iyunv.com/thread-259586-1-1.html

 


免責聲明!

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



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