#!/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