elk、定时删除elk日志脚本——shell

ES数据定期删除
如果不删除ES数据,将会导致ES存储的数据越来越多,磁盘满了之后将无法写入新的数据。这时可以使用脚本定时删除过期数据。
方法一、

#/bin/bash
#es-index-clear
#只保留某几天内的日志索引-5 days || 12 days ago
ST_LAST_DATA=date -d "-7 days" "+%Y.%m.%d"
UAT_LAST_DATA=date -d "-15 days" "+%Y.%m.%d"
PROD_LAST_DATA=date -d "-30 days" "+%Y.%m.%d"

#删除上个月份所有的索引
curl -XDELETE “http://192.168.180.6:9200/st-KaTeX parse error: Expected 'EOF', got '#' at position 17: …ST_LAST_DATA}" #̲curl -XGET "htt…{ST_LAST_DATA}”
curl -XDELETE “http://192.168.180.6:9200/uat-dev15-KaTeX parse error: Expected 'EOF', got '#' at position 18: …AT_LAST_DATA}" #̲curl -XGET "htt…{UAT_LAST_DATA}”
curl -XDELETE “http://192.168.180.6:9200/prod-admin-paas-KaTeX parse error: Expected 'EOF', got '#' at position 19: …OD_LAST_DATA}" #̲curl -XGET "htt…{PROD_LAST_DATA}”

#crontab -e添加定时任务:
#0 1 * * * /home/elk/clear/es-index-clear.sh

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17

可以视个人情况调整保留的天数,这里的ip和port同样设置为不存储数据的那台机器。该脚本只需要在ES中一台机器定时运行即可。

crontab -e添加定时任务:

0 1 * * * /search/odin/elasticsearch/scripts/es-index-clear.sh

1
2

每天的凌晨一点清除索引。
注意:保证crond服务是启动的
[root@server scripts]# service crond status
方法二、

#!/bin/bash

#删除ELK30天前的日志

DATE=date -d "30 days ago" +%Y.%m.%d

curl -s -XGET http://127.0.0.1:9200/_cat/indices?v| grep $DATE | awk -F ‘[ ]+’ ‘{print $3}’ >/tmp/elk.log

for elk in cat /tmp/elk.log

do

    curl  -XDELETE  "http://127.0.0.1:9200/$elk"

done

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15

加入到定时任务

crontab -e

#每天凌晨1点定时清理elk索引

00 01 * * * bash /server/scripts/elk.sh &>/dev/null

1
2
3
4
5


| | | | |
| | | | ±---- 星期中星期几 (0 - 7) (星期天 为0)
| | | ±--------- 月份 (1 - 12)
| | ±-------------- 一个月中的第几天 (1 - 31)
| ±------------------- 小时 (0 - 23)
±------------------------ 分钟 (0 - 59)

————————————————
版权声明:本文为CSDN博主「常名先生」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/jiangbenchu/java/article/details/101273774

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值