do { $line = <CONFIGFILE> } until $. == $linenumber;
close(CONFIGFILE);
chop($line);
- ($confvar = $line) =~ s/^.*= (.*)/$1/;
+ ($confvar = $line) =~ s/"(.*)"$/$1/;
+ $confvar =~ s/^.*=//;
return $confvar;
}
my $log = "$CONFDATA{logdir}/$CONFDATA{logfile}";
# Fetch date and Format it
($sec,$min,$hour,$mday,$mon,$year,$wday,$yday,$isdst) = localtime(time);
- $year += 1900; $year = sprintf("%02d", $year % 100); ++$mon;
- $user = getlogin || "Unidentified";
- $commonstring = "[$mday/$mon/$year $hour:$min:$sec|$user|antifraude]";
+ $mon =~ s/^(\d)$/0$1/;
+ $mday =~ s/^(\d)$/0$1/;
+ $hour =~ s/^(\d)$/0$1/;
+ $min =~ s/^(\d)$/0$1/;
+ $year += 1900; ++$mon;
+ $user = "$ENV{USER}";
+ $commonstring = "$mday/$mon/$year-$hour:$min $user antifraude:";
# Append to log
open(LOGFILE,">>$log") or die "No se pudo abrir el archivo de log";
seek(LOGFILE,0,2);
- print LOGFILE "$commonstring - $logentry\n";
+ 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})
+ {
+ open(LOGFILE,"+<$log");
+ do ($line = <LOGFILE>) until $. == 100;
+ truncate(LOGFILE,tell(LOGFILE));
+ close(LOGFILE);
+ }
+
if ($consoleout) { print("$logentry\n"); }
}
sub checkUmbrales {
local(*callfields) = $_[0];
my $callsfile = $_[1];
- print("Callfields: @callfields\n");
- print("Callfile: $callsfile\n");
my $matchedUmbral = 0;
my $i = 0;
if ($matchedUmbral > 0) {
# Obtengo algunos datos
($central = $callsfile) =~ s/^.*\.//;
- $user = getlogin || 'Unidentified';
+ $user = "$ENV{USER}";
# Fetch date and Format it
($sec,$min,$hour,$mday,$mon,$year,$wday,$yday,$isdst) = localtime(time);
$year += 1900; ++$mon;
- $date = "$year$mon$mday";
- $time = "$hour$min$sec";
+ $mon =~ s/^(\d)$/0$1/;
+ $mday =~ s/^(\d)$/0$1/;
+ $hour =~ s/^(\d)$/0$1/;
+ $min =~ s/^(\d)$/0$1/;
+ $sec =~ s/^(\d)$/0$1/;
+ $user = "$ENV{USER}";
+ $date = "${year}${mon}${mday}";
+ $time = "${hour}${min}${sec}";
# Preparo el registro de alarma
$alarmEntry = "$callfields[7];$central;$callfields[0];$callfields[1];$regid;$callfields[2];$callfields[3];$user;$date;$time";
}
# --------- 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 = <PARAMFILE>;
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) {