🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Thread View: es.comp.os.linux.programacion
5 messages
5 total messages Started by Angel Mon, 29 May 2006 22:07
de log a bbdd
#992
Author: Angel
Date: Mon, 29 May 2006 22:07
10 lines
1428 bytes
Buenas, me gustar�a programar un proceso que pasara de ficheros de texto 
(log del sistema concretamente) a una base de datos Mysql. He pensando en 
hacer un script de Perl que este continuamente (como una tarea programa de 
crontab, o con un demonio de C que llame al script) leyendo los ficheros, 
sacando la informaci�n, pas�ndola a sql y generando y ejecutando dichas 
sentencias sql.

Alguna sugerencia mejor para realizar esto?

Un saludo. 
Re: de log a bbdd
#993
Author: Abelardo Tordo
Date: Tue, 30 May 2006 00:13
39 lines
2388 bytes
En es.comp.os.linux.programacion, Angel <lomugo@supercable.es> escribi�:

> Buenas, me gustar�a programar un proceso que pasara de ficheros de texto 
> (log del sistema concretamente) a una base de datos Mysql. He pensando en 
> hacer un script de Perl que este continuamente (como una tarea programa de 
> crontab, o con un demonio de C que llame al script) leyendo los ficheros, 
> sacando la informaci�n, pas�ndola a sql y generando y ejecutando dichas 
> sentencias sql.
>
> Alguna sugerencia mejor para realizar esto?

Si los logs son a trav�s de syslog, puedes volcar la parte que te
interese a un fifo, p. ej, en syslog.conf:

auth,authpriv.*;*.=debug                |/ruta/fifo

Luego lo lees:

open (FIFO, "< /ruta/fifo") ||
   die ("No se pudo abrir el fifo\n");
while (<FIFO>) {
   if (m/... # Las expresiones regulares que quieras buscar
}

Si no quieres/puedes modificar el syslog.conf, o se trata de un programa
que no lo usa, puedes usar el m�dulo File::Tail:

use File::Tail;
my $log="/ruta/log";
my $f=File::Tail->new(name=>$log);
my $l;
while (defined($l=$f->read)) {
   if ($l =~ m/... # Expresiones regulares a buscar
}

Ambos m�todos son pr�cticamente iguales, ya que el meollo est�,
obviamente, en programar lo que haya dentro del while. En los dos casos
el proceso deber�a funcionar indefinidamente, pero para mayor seguridad
puedes monitorizarlo con daemontools, por ejemplo.
Re: de log a bbdd
#994
Author: Jos� Luis P�rez Diez
Date: Tue, 30 May 2006 07:48
13 lines
1469 bytes
In article <hgKeg.2130675$kp.11596468@telenews.teleline.es>, Angel 
wrote:
> Alguna sugerencia mejor para realizar esto?
>

Mira tail

y haz algo asi como tail -f |proceso 

--
Los programadores esta ocupados intendtado mejorar los programas a 
prueba de idiotas. Mientras tanto el universo  intenta mejorar los 
idiotas. El universo va ganando
Re: de log a bbdd
#995
Author: arrase
Date: Tue, 30 May 2006 14:43
30 lines
2291 bytes
Angel wrote:
> Buenas, me gustar�a programar un proceso que pasara de ficheros de texto 
> (log del sistema concretamente) a una base de datos Mysql. He pensando en 
> hacer un script de Perl que este continuamente (como una tarea programa de 
> crontab, o con un demonio de C que llame al script) leyendo los ficheros, 
> sacando la informaci�n, pas�ndola a sql y generando y ejecutando dichas 
> sentencias sql.
> 
> Alguna sugerencia mejor para realizar esto?
> 
> Un saludo. 
> 
> 

Yo tengo algo escrito en C++ que mete en una base de datos mysql todos
los intentos de entrar por ssh y algunas cosas de apache, puedes echarle
un ojo en:

https://arrase.no-ip.org/viewcvs/Webaccess/trunk/

Saludos.

-- 
<arrase@gulcas.org><http://arrase.no-ip.org><www.gulcas.org>
     <Gnupg Keys: http://arrase.no-ip.org/pubkey.txt>

print "".join(map(lambda numChar:filter(lambda x:(x<"0") or \
(x>"9"),numChar),["0"+chr(104)+"0","1"+chr(111)+"1","2"+chr(108)+"2", \
"3"+chr(97)+"3","4"+chr(32)+"4","5"+chr(109)+"5","6"+chr(117)+"6", \
"7"+chr(110)+"7","8"+chr(100)+"8","9"+chr(111)+"9"]))
Re: de log a bbdd
#996
Author: Angel
Date: Tue, 30 May 2006 21:52
38 lines
2531 bytes
Gracias a los tres. Por ahora me he decantando por el File::tail de 
Abelardo, con el que ya he implementado un primer prototipo. Aunque le 
echar� un vistazo m�s profundo al interesante c�digo de arrase.

Un saludo.
"arrase" <arrase@gulcas.org> escribi� en el mensaje 
news:e5hl8n$jkj$1@hercules.cohp1...
> Angel wrote:
>> Buenas, me gustar�a programar un proceso que pasara de ficheros de texto
>> (log del sistema concretamente) a una base de datos Mysql. He pensando en
>> hacer un script de Perl que este continuamente (como una tarea programa 
>> de
>> crontab, o con un demonio de C que llame al script) leyendo los ficheros,
>> sacando la informaci�n, pas�ndola a sql y generando y ejecutando dichas
>> sentencias sql.
>>
>> Alguna sugerencia mejor para realizar esto?
>>
>> Un saludo.
>>
>>
>
> Yo tengo algo escrito en C++ que mete en una base de datos mysql todos
> los intentos de entrar por ssh y algunas cosas de apache, puedes echarle
> un ojo en:
>
> https://arrase.no-ip.org/viewcvs/Webaccess/trunk/
>
> Saludos.
>
> -- 
> <arrase@gulcas.org><http://arrase.no-ip.org><www.gulcas.org>
>     <Gnupg Keys: http://arrase.no-ip.org/pubkey.txt>
>
> print "".join(map(lambda numChar:filter(lambda x:(x<"0") or \
> (x>"9"),numChar),["0"+chr(104)+"0","1"+chr(111)+"1","2"+chr(108)+"2", \
> "3"+chr(97)+"3","4"+chr(32)+"4","5"+chr(109)+"5","6"+chr(117)+"6", \
> "7"+chr(110)+"7","8"+chr(100)+"8","9"+chr(111)+"9"])) 
Thread Navigation

This is a paginated view of messages in the thread with full content displayed inline.

Messages are displayed in chronological order, with the original post highlighted in green.

Use pagination controls to navigate through all messages in large threads.

Back to All Threads