]> git.llucax.com Git - z.facultad/75.08/llamadas.git/blob - inst/afimonio
a4e99dbce97adb306a37666f9cfd3c6d8b0092b2
[z.facultad/75.08/llamadas.git] / inst / afimonio
1 #!/bin/bash
2 # uso las funciones de util.sh
3 . util.sh
4
5
6 # filtra el nombre del archivo pasado por parametro sacandole todos los
7 # caracteres que no sean numeros 
8 checkfilename(){
9         date=`echo $1 | cut -d "." -f 1`
10         central=`echo $1 | cut -d "." -f 2`
11
12         validar_solo_numeros "$date"
13         if [ "$?" -ne 0 ]; then
14                 return 1
15         fi
16         mes=${date:4:2}
17         validar_rango "$mes" "1" "12"
18         if [ "$?" -ne 0 ]; then
19                 return 1
20         fi
21         dia=${date:6:2}
22         validar_rango "$dia" "1" "31" 
23         if [ "$?" -ne 0 ]; then
24                 return 1
25         fi
26         hora=${date:8:2}
27         validar_rango "$hora" "0" "23"
28         if [ "$?" -ne 0 ]; then
29                 return 1
30         fi
31         min=${date:10:2}
32         validar_rango "$min" "0" "59"
33         if [ "$?" -ne 0 ]; then
34                 return 1
35         fi
36         validar_solo_numeros "$central"
37         if [ "$?" -ne 0 ]; then
38                 return 1
39         fi
40         return 0                
41 }
42
43 #--------------------MAIN SCRIPT----------------------
44
45 # Me lockeo por las dudas
46 lock "afimonio" 
47
48 # Busco el archivo de configuracion para recuperar las rutas hacia los archivos
49 # que debo leer.
50
51 anticonf=~/sop/conf/afinstal.conf
52
53 #anticonf=~/.antifraude/conf/antifraude.conf
54 #afimconf=~/.antifraude/conf/afimonio.conf
55
56 # Recupero las rutas a todos los directorios y archivos que necesito
57 # Del antifraude
58 DATADIR=`grep -n "DATADIR" $anticonf | sed "s?.*DATADIR\ =\ ??"`
59 SOURCEDIR="$DATADIR/aprocesar/"
60 ACEPTDIR="$DATADIR/enproceso/"
61 REJECTDIR="$DATADIR/rechazadas/"
62 BINDIR=`grep -n "BINDIR" $anticonf | sed  "s?.*BINDIR\ =\ ??"`
63
64 # Del afimonio
65 LOGDIR=`grep -n "LOGDIR" $afimconf | sed "s?.*LOGDIR\ =\ ??"`
66 LOGNAME=`grep -n "LOGFILE" $afimconf | sed "s?.*LOGFILE\ =\ ??"`
67 logfile=$LOGDIR/$LOGNAME
68
69 # Comienza el ciclo infinito que mueve los archivos
70 while [ true ]; do 
71         for file in `ls $SOURCEDIR` ; do
72                 checkfilename $file     
73                 if [ "$?" -eq 0 ]; then
74                         mv $SOURCEDIR$file $ACEPTDIR #cambiar copiar por mover
75                         fecha=$(date +%d/%m/%Y-%H:%M)
76                         echo "$fecha $USER afimonio:\"Se detecta archivo de llamadas $file\"" >> $logfile
77                 else 
78                         mv $SOURCEDIR$file $REJECTDIR #cambiar copiar por mover
79                         fecha=$(date +%d/%m/%Y-%H:%M)
80                         echo "$fecha $USER afimonio:\"Se rechaza el  archivo $file\"" >> $logfile
81                 fi
82         done #for
83         # me fijo si el antifraude esta corriendo y si no lo esta lo arranco
84         if ! is_lock "antifraude.pl" ; then
85                 echo "DISPARANDO ANTIFRAUDE"
86                 $BINDIR/antifraude.pl
87         fi
88         break
89         # sleep 60
90 done #while 
91