2 # uso las funciones de util.sh
3 . "$HOME/.antifraude/util.sh"
4 . "$HOME/.antifraude/conf/afimonio.conf"
8 # Es llamada por los trap para deslockear el afimonio
13 # filtra el nombre del archivo pasado por parametro sacandole todos los
14 # caracteres que no sean numeros
16 date=`echo $1 | cut -d "." -f 1`
17 central=`echo $1 | cut -d "." -f 2`
19 validar_solo_numeros "$date"
20 if [ "$?" -ne 0 ]; then
24 validar_rango "$mes" "1" "12"
25 if [ "$?" -ne 0 ]; then
29 validar_rango "$dia" "1" "31"
30 if [ "$?" -ne 0 ]; then
34 validar_rango "$hora" "0" "23"
35 if [ "$?" -ne 0 ]; then
39 validar_rango "$min" "0" "59"
40 if [ "$?" -ne 0 ]; then
43 validar_solo_numeros "$central"
44 if [ "$?" -ne 0 ]; then
50 #--------------------MAIN SCRIPT----------------------
52 # Verifico no correr 2 veces
53 if is_lock "afimonio" ; then
54 echo "Ya hay una instancia de afimonio corriendo"
58 # Me lockeo por las dudas
61 # Busco el archivo de configuracion para recuperar las rutas hacia los archivos
64 anticonf=~/.antifraude/conf/antifraude.conf
65 afimconf=~/.antifraude/conf/afimonio.conf
67 # Recupero las rutas a todos los directorios y archivos que necesito
69 DATADIR=`grep -n "DATADIR" $anticonf | sed "s?.*DATADIR\ =\ ??"`
70 SOURCEDIR="$DATADIR/aprocesar/"
71 ACEPTDIR="$DATADIR/enproceso/"
72 REJECTDIR="$DATADIR/rechazadas/"
73 BINDIR=`grep -n "BINDIR" $anticonf | sed "s?.*BINDIR\ =\ ??"`
76 LOGDIR=`grep -n "LOGDIR" $afimconf | sed "s?.*LOGDIR\ =\ ??"`
77 LOGNAME=`grep -n "LOGFILE" $afimconf | sed "s?.*LOGFILE\ =\ ??"`
78 LOGFILE=$LOGDIR/$LOGNAME
80 # Comienza el ciclo infinito que mueve los archivos
82 for file in `ls $SOURCEDIR` ; do
84 if [ "$?" -eq 0 ]; then
85 mv $SOURCEDIR$file $ACEPTDIR #cambiar copiar por mover
86 fecha=$(date +%d/%m/%Y-%H:%M)
87 echo "$fecha $USER afimonio:\"Se detecta archivo de llamadas $file\"" >> $LOGFILE
89 mv $SOURCEDIR$file $REJECTDIR #cambiar copiar por mover
90 fecha=$(date +%d/%m/%Y-%H:%M)
91 echo "$fecha $USER afimonio:\"Se rechaza el archivo $file\"" >> $LOGFILE
93 # Verifico que el logfile no se pase del tamaño maximo
94 tam=`stat -c '%s' $LOGFILE`
95 # Si se paso del maximo dejo las ultimas 100 lineas
96 if [ "$tam" -ge "$LOGSIZE" ]; then
97 tail -n 100 $LOGFILE > "$BINDIR/temp"
99 mv "$BINDIR/temp" $LOGFILE
102 # me fijo si el antifraude esta corriendo y si no lo esta lo arranco
103 if ! is_lock "antifraude.pl" ; then
104 echo "DISPARANDO ANTIFRAUDE"
105 $BINDIR/antifraude.pl