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)