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
Author: Angel
Date: Mon, 29 May 2006 22:07
Date: Mon, 29 May 2006 22:07
10 lines
1428 bytes
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
Author: Abelardo Tordo
Date: Tue, 30 May 2006 00:13
Date: Tue, 30 May 2006 00:13
39 lines
2388 bytes
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
Author: Jos� Luis P�rez Diez
Date: Tue, 30 May 2006 07:48
Date: Tue, 30 May 2006 07:48
13 lines
1469 bytes
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
Author: arrase
Date: Tue, 30 May 2006 14:43
Date: Tue, 30 May 2006 14:43
30 lines
2291 bytes
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
Author: Angel
Date: Tue, 30 May 2006 21:52
Date: Tue, 30 May 2006 21:52
38 lines
2531 bytes
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