Python定期清理es日志

python 脚本

import os
import datetime

def getXDaysAgo(x):
    now = datetime.datetime.now()
    xdaysago = (now - datetime.timedelta(x)).strftime('%Y%m%d')
    return xdaysago

def getIndex():
    os.system('curl -XGET "http://es01:9200/_cat/indices?v" > /tmp/newly')

def delIndex(days):
    with open('/tmp/newly','r') as f :
        for line in f.readlines():
            index = line.strip().split()[2]
            if str(getXDaysAgo(days)) in index:
                command = "curl -XDELETE  http://es01:9200/%s" % index
                print('delete %s' % index)
                os.system(command)
            else:
                pass

getIndex()
delIndex(3) #要清理的日期

crontab增加

0   1   *    *   *  cd /wdzj/script;/usr/bin/python clean_eslogs.py >>es.log 
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Linux中可以使用crontab设置定时任务,可以通过命令crontab -e编写任务,也可以直接写配置文件设置...
    汪菲宇阅读 852评论 0 0
  • Dear Boss: 和您一样,我也忍受着公司飞速发展,管理越来越难,人才流失日益严重的痛苦!尤其真正面临困难的时...
    98bd2c3f5a70阅读 91评论 0 0
  • 我站在漆黑的深夜里吃着鲜红的西瓜! 闷热的夏季夜晚空中飘着雪花 当我抬头仰望星空 西北风却带来阵阵凉爽 西瓜甘甜刺...
    傲娇的小猫阅读 142评论 0 0
  • 自定义采购品的列+自定义供应商的列,这个功能终于完美的结合了。耶~ 让阳阳点点看有没有丢的或者bug,产品看看是不...
    鲸鲸景鲸叻阅读 435评论 0 1
  • 进入大学以来,因为指导员发起的每周一书一文的活动,让我大面积的开始了解阅读,学会阅读。现在一年过去,确实对自己受益...
    1703陈依霖阅读 527评论 0 2