ElasticSearch查看刪除關閉索引


curl -XDELETE 'http://10.1.2.2:9200/iis_log_2019-07'     #刪除名為/iis_log_2019-07的索引

curl -XPOST 'http://10.1.2.2:9200/iis_log_2019-07/_close/'   #關閉名為/iis_log_2019-07的索引(_open打開)

curl  10.1.2.2:9200/_cat/indices/iis_log* #查看iis_log開頭的所有索引

curl  10.1.2.2:9200/_cat/indices/iis_log_2018-07' #查看iis_log_2018-07的索引

#!/usr/bin/env python
# -*- coding: utf-8 -*-
import datetime,os
from dateutil.relativedelta import relativedelta

#關閉前第3個月的索引
def index_close(indexname,hmonths):
    dt_m = (datetime.date.today() - relativedelta(months=hmonths)).strftime('%Y-%m')
    iname = '%s_%s' % (indexname,dt_m)
    url = 'http://10.1.2.2:9200/%s/_close/' % iname
    print(url)
    m = os.popen('curl -XPOST %s' % url)
    print(m.readlines())

# index_close('iis_logl',3)

#刪除前第12個月的索引
def index_delete(indexname,hmonths):
    dt_m = (datetime.date.today() - relativedelta(months=hmonths)).strftime('%Y-%m')
    iname = '%s_%s' % (indexname,dt_m)
    url = 'http://10.1.2.2:9200/%s' % iname
    print(url)
    m = os.popen('curl -XDELETE %s' % url)
    print(m.readlines())

index_delete('iis_log',12)

 

#關閉前1個月的索引,索引以天為單位產生,如sec_mail_2020-04-28)
def index_close_days(indexname,nmonths):
        dt_m = (datetime.date.today() - relativedelta(months=nmonths)).strftime('%Y-%m')
        dt_n = datetime.datetime.now().strftime('%Y-%m-%d %H:%M:%S')
        y,m = dt_m.split('-')
        days = (calendar.monthrange(int(y),int(m)))[1]
        for d in range(days):
            d = str(d+1).rjust(2,'0')
            iname = '%s_%s-%s' % (indexname,dt_m,d)
            url = 'http://10.1.2.2:9200/%s/_close/' % iname
            # print(url)
            rs = os.popen('curl -XPOST %s' % url)
            with open(logfile,'a') as fw:
                fw.write('%s\n%s\n%s\n'% (dt_n,url,rs.read()))

#刪除前3個月的索引,索引以天為單位產生,如sec_mail_2020-04-28)
def index_delete_days(indexname,nmonths):
        dt_m = (datetime.date.today() - relativedelta(months=nmonths)).strftime('%Y-%m')
        dt_n = datetime.datetime.now().strftime('%Y-%m-%d %H:%M:%S')
        y,m = dt_m.split('-')
        days = (calendar.monthrange(int(y),int(m)))[1]
        for d in range(days):
            d = str(d+1).rjust(2,'0')
            iname = '%s_%s-%s' % (indexname,dt_m,d)
            url = 'http://10.1.2.2:9200/%s' % iname
            # print(url)
            rs = os.popen('curl -XDELETE %s' % url)
            with open(logfile,'a') as fw:
                fw.write('%s\n%s\n%s\n'% (dt_n,url,rs.read()))

index_close_days('sec_mail',1)
index_delete_days('sec_mail',3)

 


免責聲明!

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



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