#!/bin/bash #Author: # perofu #Email: # perofu.com@gmail.com log_file=/tmp/elasticsearch_optimize_index.log day=`date "+%Y-%m-%d"` day_1=`date -d "1 days ago" "+%Y-%m-%d"` day_7=`date -d "7 days ago" "+%Y-%m-%d"` ip="192.168.58.158" index_name="bb-nginx-tp aa-nginx-tp" #number_of_replicas setting 0 curl -XPUT -uelastic:changeme "http://${ip}:9200/*-${day}/_settings" -d ' { "number_of_replicas": 0 }' # clear cache curl -s -uelastic:changeme -XPOST 'http://${ip}:9200/_cache/clear' echo "${day}" >> ${log_file} curl -s -uelastic:changeme 'http://${ip}:9200/_cat/nodes?v&h=segments.count,segments.memory,segments.index_writer_memory,segments.version_map_memory,segments.fixed_bitset_memory' &>> ${log_file} #optimize segment echo "${index_name}" | while read line do echo "" >> ${log_file} curl -s -uelastic:changeme 'http://${ip}:9200/_cat/indices?v' | grep "${line}-${day_1}" &>> ${log_file} curl -s -uelastic:changeme 'http://${ip}:9200/_cat/segments?v'|grep "${line}-${day_1}" | awk 'BEGIN{summ=0}{summ=summ+$10}END{print summ}' &>> ${log_file} curl -s -XPOST -uelastic:changeme "http://${ip}:9200/${line}-${day_1}/_forcemerge?max_num_segments=1" &>> ${log_file} sleep 10 curl -s -uelastic:changeme 'http://${ip}:9200/_cat/indices?v' | grep "${line}-${day_1}" &>> ${log_file} curl -s -uelastic:changeme 'http://${ip}:9200/_cat/segments?v'|grep "${line}-${day_1}" | awk 'BEGIN{summ=0}{summ=summ+$10}END{print summ}' &>> ${log_file} echo "" >> ${log_file} done curl -s -uelastic:changeme 'http://${ip}:9200/_cat/nodes?v&h=segments.count,segments.memory,segments.index_writer_memory,segments.version_map_memory,segments.fixed_bitset_memory' &>> ${log_file} #close index 7 day ago echo "${index_name}" | while read line do echo "" >> ${log_file} curl -s -XPOST -uelastic:changeme "http://${ip}:9200/${line}-${day_7}/_close" &>> ${log_file} sleep 2 done curl -s -uelastic:changeme 'http://${ip}:9200/_cat/nodes?v&h=segments.count,segments.memory,segments.index_writer_memory,segments.version_map_memory,segments.fixed_bitset_memory' &>> ${log_file} |