#!/bin/sh

log_file="/var/log/traffic-accounting.log"
keeps=13

log_rotate()
{
  # $1 = filename
  # $2 = keep count
  filename="$1"

  if [ -e "$filename.$2" ]; then
    rm -f "$filename.$2"
  fi

  for x in `seq $(($2 + 1)) -1 1`; do
    if [ -e "$filename.$x" ]; then
      mv "$filename.$x" "$filename.$(($x + 1))"
    fi
  done

  if [ -e "$filename" ]; then 
    mv "$filename" "$filename.1"
  fi
}


archive()
{
  # $1 = Source dir, $2 = Target file, $3 = retention count

  if [ ! -d "$1" ]; then
    printf "\033[40m\033[1;31mWARNING: Directory $1 does NOT exist! Skipping...\n\033[0m"
    ARCHIVE_SKIPPED="$ARCHIVE_SKIPPED $1"
  else
    file_rotate "$2" "$3"
    tar cvfz "$2" "$1"
  fi
}

# main
log_rotate "$log_file" $keeps


