Skip to content

Instantly share code, notes, and snippets.

@tolland
Forked from colonD/logstash_daily.sh
Created March 25, 2012 10:50
Show Gist options
  • Save tolland/2192792 to your computer and use it in GitHub Desktop.
Save tolland/2192792 to your computer and use it in GitHub Desktop.
Quick cron.daily script for stock Logstash/ES installation
#!/bin/sh
# Do elasticsearch optimize on logstash previous day index
# if $1 = all then optimize all indicies
esindex="/opt/elasticsearch/data/elasticsearch/nodes/0/indices"
# Grab yesterday's values
D=`date +%d -d yesterday`
M=`date +%m -d yesterday`
Y=`date +%Y -d yesterday`
today="`date +%Y`.`date +%m`.`date +%d`"
yesterday="$Y.$M.$D"
# If $1 = all
if [ "x$1" = "xall" ]
then
# Loop through all ES indicies except today
for index in `ls $esindex | grep -v "$today"`
do
# Run through all the indicies and optimize them
echo "Optimizing $index"
curl -XPOST "http://localhost:9200/$index/_optimize?max_num_segments=2"
done
else
echo "Optimizing index logstash-$yesterday"
curl -XPOST "http://localhost:9200/logstash-$yesterday/_optimize?max_num_segments=2"
fi
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment