#!/bin/sh
#
# trash-clean
#
# Limpia los directorios de mensajes eliminados en
# los buzones de usuarios del dominio virtual
#

VERSION="0.3"
FECHA="20150205"

TC_CFG="/etc/mail"
[ -r "${TC_CFG}/trash-clean.conf" ] && source "${TC_CFG}/trash-clean.conf"

# Por default si borramos lo encontrado
delstr="-delete"

while getopts ":Vt:R:n" opt; do
  case $opt in
    V)
      echo "$(basename $0) $VERSION, $FECHA"
      exit 0
      ;;
    t)
      TC_MAXTIME="$OPTARG"
      ;;
    R)
      TC_REGEX="$OPTARG"
      ;;
    n)
      echo "Modo simulado activo. No borraremos nada" >&2
      delstr=""
      ;;
    \?)
      echo "$(basename $0): Opcion invalida: -$OPTARG" >&2
      exit 1
      ;;
    :)
      echo "$(basename $0): Opcion -$OPTARG requiere un argumento" >&2
      exit 1
      ;;
  esac
done


[ "$TC_VDOMAIN_BASEDIR" ] || TC_VDOMAIN_BASEDIR="/home/mail"
[ "$TC_MAXTIME" ] || TC_MAXTIME="7"
[ "$TC_REGEX" ] || TC_REGEX="eliminados|basura|trash"

find "$TC_VDOMAIN_BASEDIR" -regextype posix-awk -iregex "${TC_VDOMAIN_BASEDIR}.*/users/.*/.*(${TC_REGEX})/(cur|new)/[0-9]{10}.*" -mtime +${TC_MAXTIME} -type f -print $delstr -ls

exit 0
