每天定时删除30天前的elasticsearch索引的python脚本
2018-05-10 14:18
183 查看
公司用的ELK来收集日志,但由于资源有限,磁盘经常爆满。所以写了个python脚本放在crontab里面,每天执行定时删除30天前的elasticsearch索引。
不怎么会写代码,大牛轻喷。。
#!/usr/bin/env python # coding: utf-8 # author: yd import urllib import urllib2 import re import datetime import time def http_get(url_get): #获取elasticsearch的所有索引 request_get = urllib2.Request(url_get) response_get = urllib2.urlopen(request_get).read() return response_get def match(response_get): pattern = re.compile(r'\d+\.\d+\.\d+') res_match = pattern.findall(response_get) date_now = datetime.date.today() #获取当前日期 days_before_30 = date_now - datetime.timedelta(days=30) #获取30天前的日期 date_format = days_before_30.__format__('%Y.%m.%d') #对日期进行格式化输出,例:2018.04.23 if date_format in res_match: http_delete(date_format) else: pass def http_delete(url_delete_date): #删除30天前的索引 url_delete = 'http://localhost:9200/logstash-%s?pretty' % (url_delete_date) request_delete = urllib2.Request(url_delete) request_delete.get_method = lambda:'DELETE' #设置HTTP请求方式 response_delete = urllib2.urlopen(request_delete).read() return response_delete if __name__ == '__main__': url_get = 'http://localhost:9200/_cat/indices?v' match(http_get(url_get))
阅读更多
相关文章推荐
- 写一个python定时发送消息的脚本——每天跟你女盆友说晚安
- 统计elasticsearch中月每天索引量的脚本
- 定时每天备份mysql并定时删除上月备份脚本
- 定时每天备份mysql并定时删除上月记录(脚本)
- 定时删除elasticsearch索引
- 定时每天备份mysql并定时删除上月记录(脚本)
- 定时每天备份mysql并定时删除上月记录(脚本)
- python 删除文件及文件夹下的文件夹脚本(自己加个定时修改个路径ok)
- linux用mysqldump每天定时备份MySQL数据库并删除五天前的备份文件
- python的dataframe删除原来索引,重新建立从0开始的索引
- python设置定时任务(定时执行脚本)
- 删除c,c++,java源文件中全部注释的Python脚本
- (windows)python脚本:自动备份并压缩文件,同时删除过期文件
- 每天迁移MySQL历史数据到历史库Python脚本
- windows下python设置定时任务(定时执行脚本)
- mac 系统下定时执行python脚本
- Linux下添加shell脚本使得nginx日志每天定时切割压缩
- shell脚本定时任务--日志压缩(删除)
- Oracle AWR 报告 每天自动生成并发送邮箱 Python脚本