X-Git-Url: https://git.llucax.com/z.facultad/75.08/llamadas.git/blobdiff_plain/fbda2151a8f5f6e2e7fdf5b1d63a38b57fbac262..87be67dc181732bc1d164f616d0490d8438e0704:/inst/antifraude.pl?ds=sidebyside diff --git a/inst/antifraude.pl b/inst/antifraude.pl index 47ffc42..8f02a6d 100644 --- a/inst/antifraude.pl +++ b/inst/antifraude.pl @@ -64,7 +64,8 @@ sub getConfVar { do { $line = } until $. == $linenumber; close(CONFIGFILE); chop($line); - ($confvar = $line) =~ s/^.*= (.*)/$1/; + ($confvar = $line) =~ s/"(.*)"$/$1/; + $confvar =~ s/^.*=//; return $confvar; } @@ -82,8 +83,18 @@ sub logEntry { open(LOGFILE,">>$log") or die "No se pudo abrir el archivo de log"; seek(LOGFILE,0,2); print LOGFILE "$commonstring - $logentry\n"; + $filesize = tell(LOGFILE); close(LOGFILE); + # Chequeo el logsize y su lo supero me quedo con 100 lineas + if ($filesize > ($CONFDATA{logsize} * 1024 * 1024)) + { + open(LOGFILE,"+<$log"); + do ($line = ) until $. == 100; + truncate(LOGFILE,tell(LOGFILE)); + close(LOGFILE); + } + if ($consoleout) { print("$logentry\n"); } } @@ -98,8 +109,6 @@ sub badCall { sub checkUmbrales { local(*callfields) = $_[0]; my $callsfile = $_[1]; - print("Callfields: @callfields\n"); - print("Callfile: $callsfile\n"); my $matchedUmbral = 0; my $i = 0; @@ -148,35 +157,22 @@ sub checkUmbrales { } # --------- MAIN CODE -------- # -# En la version final, recibo por param el directorio del .conf, por ahora -# recibo un dir donde tengo archivos de llamadas -if ((!$ARGV[0]) || (! -d $ARGV[0])) { - print("No se ha ingresado un directorio fuente de llamadas\n"); - exit 1; -} - -# Lock file +# File locking.. +if (is_lock()) { exit 1; } lock(); # Defino some GLOBALS -$CONFDIR = shift; -$CONFDATA{logdir} = getConfVar("$CONFDIR/afinstal.conf",12); -$CONFDATA{logfile} = getConfVar("$CONFDIR/afinstal.conf",13); -$CONFDATA{logsize} = getConfVar("$CONFDIR/afinstal.conf",14); -$CONFDATA{datadir} = getConfVar("$CONFDIR/afinstal.conf",15); -$CONFDATA{alarmlog} = "$CONFDIR/alarmas/alarmas.txt"; +$CONFDIR = "$ENV{'HOME'}/.antifraude"; +$CONFDATA{logdir} = getConfVar("$CONFDIR/conf/antifraude.conf",2); +$CONFDATA{logfile} = getConfVar("$CONFDIR/conf/antifraude.conf",3); +$CONFDATA{logsize} = getConfVar("$CONFDIR/conf/antifraude.conf",4); +$CONFDATA{datadir} = getConfVar("$CONFDIR/conf/antifraude.conf",5); # Cargo los UMBRALES en memoria open(PARAMFILE,"$CONFDIR/umbrales.param") or die "No se pudo abrir el archivo de umbrales"; @UMBRALES = ; close(PARAMFILE); -# For Debug Only -print("\nLogdir: $CONFDATA{logdir}\n"); -print("Logfile: $CONFDATA{logfile}\n"); -print("Logsize: $CONFDATA{logsize}\n"); -print("Datadir: $CONFDATA{datadir}\n\n"); - # Proceso los archivos de llamadas @archivos = getCallFiles(); FILE: foreach $filename (@archivos) {