#!/bin/bash days_to_keep=14 all_indices=`curl 'localhost:9200/_cat/indices?v' 2>/dev/null|awk '{print $3}'|grep logstash` # Prepare list for removal if [ "$all_indices" = "" ]; then exit 1; fi indicies_to_delete="$all_indices" for day in `seq 0 $days_to_keep`; do index_to_keep="logstash-`date +%Y.%m.%d -d \"-$day days\"`" to_delete=`echo "$indicies_to_delete"| grep -v "$index_to_keep"` indicies_to_delete="$to_delete" done # Execute removal if [ "$indicies_to_delete" != "" ]; then for index in $indicies_to_delete; do echo Removing $index curl -XDELETE "localhost:9200/$index" echo done else echo "Nothing to remove" fi
Overview
Content Tools