elasticsearch的索引自動清理及自定義清理
阿新 • • 發佈:2018-12-30
近發現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