Página 1 de 1

Generar y actualizar txt de ficheros logs

NotaPublicado: 2006-11-07 11:43 @530
por sigar
Hola, si alguien me puede ayudar con este código... quiero extraer datos de mis logs (en este caso del log secure) y enviarlo a un txt (secure.txt) y que éste vaya actualizándose periódicamente. Este es el código que tengo hasta ahora:

Sintáxis: [ Descargar ] [ Ocultar ]
Using perl Syntax Highlighting
# /usr/bin/perl -w
open(IN, "/var/log/secure");
open(OUT, ">/var/www/html/scripts/logs/secure.txt");

print "\n Fecha: | Hora: |    Nombre:    |Estado  \n";
print "_________________________________\n";

while($line = <IN>) {
    ($mes, $dia, $hora, $nombre, $gmt, @status) = split(' ',$line); $status = join (' ', @status);
     print "$dia $mes | $hora | $nombre | $status \n ";
}
close(IN);

close(OUT);
Coloreado en 0.002 segundos, usando GeSHi 1.0.8.4


Al momento de correr Perl secure.pl , genera un secure.txt pero sin datos. ¿Qué es lo que esta mal?

¿Y cómo puedo hacer para que vaya actualizándose?. Intenté agregando la siguiente línea a cron

Sintáxis: [ Descargar ] [ Ocultar ]
  1. 0-59/5 * * * * root env LANG=C /usr/bin/perl /var/www/htnl/scripts/secure.pl > /var/wwww/html/scripts/logs/secure.txt 


pero recibe un mensaje de error y al ejecutar en línea de comando el mismo código sí genera secure.txt con datos. :?:

NotaPublicado: 2006-11-07 12:16 @552
por explorer
Falta el OUT en los print:
Sintáxis: [ Descargar ] [ Ocultar ]
Using perl Syntax Highlighting
print OUT "$dia $mes | $hora | $nombre | $status \n ";
Coloreado en 0.001 segundos, usando GeSHi 1.0.8.4


Si abres un fichero con open, será para escribir en él...

Es decir... o usas el open del Perl, o usas el '>' del bash shell.