#!/bin/bash
#
# Asterisk Log File Rotation
# By Nathan Thomas
# 06-01-2014
# This will keep the current log file which is created 
# at the time the script is ran, plus files ending in 0-6
# In /etc/asterisk/logger.conf, set rotatestrategy=rotate

DAYSTOKEEP='7'
LOGDIR='/var/log/asterisk'
LOGFILES=('full' 'messages')
ROTATEFLAG='on'

for items in "${LOGFILES[@]}" ; do
   if [ -f "${LOGDIR}/${items}" ] ; then
      if [ "${ROTATEFLAG}" = "on" ] ; then
         /usr/sbin/asterisk -rx 'logger rotate' > /dev/null 2>&1
         ROTATEFLAG='off'
         rm -f "${LOGDIR}/${items}.${DAYSTOKEEP}"
      else
         rm -f "${LOGDIR}/${items}.${DAYSTOKEEP}"
      fi
   else
      /usr/sbin/asterisk -rx 'logger reload' > /dev/null 2>&1
      ROTATEFLAG='off'
   fi
done