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)