+#!/bin/bash
+
+# Funciones auxiliares
+
+is_number(){
+ num=`echo $1 | sed 's/[0-9]*//g'`
+ if [ -n "$num" ]; then
+ return 1
+ fi
+ return 0
+}
+
+
+# filtra el nombre del archivo pasado por parametro sacandole todos los
+# caracteres que no sean numeros
+checkfilename(){
+ date=`echo $1 | cut -d "." -f 1`
+ central=`echo $1 | cut -d "." -f 2`
+
+ is_number "$date"
+ if [ "$?" -ne 0 ]; then
+ return 1
+ fi
+ is_number "$central"
+ if [ "$?" -ne 0 ]; then
+ return 1
+ fi
+ return 0
+}
+
+# busco el archivo de configuracion para recuperar las rutas hacia los archivos
+# que debo leer.
+
+DATADIR='/home/nico/sop/'
+sourcedir=$DATADIR'util/'
+aceptdir=$DATADIR'/llamadas/enproceso'
+rejectdir=$DATADIR'/llamadas/rechazadas'
+LOGDIR='/home/nico/sop/log/'
+logfile=$LOGDIR/afimonio.log
+
+while [ true ]; do
+ for file in `ls $sourcedir` ; do
+
+ checkfilename $file
+ if [ "$?" -eq 0 ]; then
+ cp $sourcedir$file $aceptdir #cambiar copiar por mover
+ fecha=$(date +%d/%m/%Y-%H:%M)
+ echo "$fecha $USER afimonio:\"Se detecta archivo de llamadas $file\"" >> $logfile
+
+ else
+ cp $sourcedir$file $rejectdir #cambiar copiar por mover
+ fecha=$(date +%d/%m/%Y-%H:%M)
+ echo "$fecha $USER afimonio:\"Se rechaza el archivo $file\"" >> $logfile
+ fi
+ sleep 2
+ done #for
+done #while
+