#!/bin/bash
#usage: $0 <directory> <email> <hh> <mm>

#------------  Help Function  --------------------------
Help()			   
{
cat << HELP
Uso: $0 <directorio> <email> <hh> <mm> <ss>
<directorio> debe ser un directorio válido
<email> una correo electrónico válido
<hh> horas 
<mm> minutos
<ss> segundos

Envia un correo electrónico a <email> cada <hh><mm><ss> tiempo con 
el listado de los archivos bajo directorio <directorio> 
que han sido creados o modificados desde
la última vez que se envió un correo, o desde la ejecución del script.

En el caso de ejecutar el comando con algún directorio inexistente, 
te aparecerá esta pantalla de ayuda.

Para mayor información: agv at elo utfsm cl 
HELP
exit 0
}
#-------------  End Help Function  ------------------------
#Configuration of smtp server of your site to send emails
smtp_server="smtp.elo.utfsm.cl"

directory=$1
test ! -d $directory && Help
email=$2
minutes=$(($3*60))
minutes=$(($minutes+$4))
seconds=$(($minutes*60))
seconds=$(($seconds+$5))
echo "I'll send an email to $email every $seconds [s]"

file=/tmp/temp_file_$$
newer_files=/tmp/temp_newer_$$
touch $file

while :
do
  sleep "$seconds"s
  find $directory -newer $file > $newer_files
  touch $file 

# the following line works depending on the system configuration
# mail -s "Files updates report" $email < $newer_files
# So I created an anternative that should work, more complicated though.
  myMail.sh $smtp_server $email < $newer_files

  echo "Newer files already Mailed"
  rm -f $newer_files
done


