正文
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,'')
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,'')
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)