2011-11-22 8 views
5

Estoy intentando supervisar los archivos de registro que algunos procesos están ejecutando en Linux (para crear un archivo de registro conjunto donde las entradas de registro se agrupan cuando suceden) Actualmente estoy pensando en abrir los archivos que se están registrando, sondear con inotify (o wrapper) y luego verificar si puedo leer más del archivo.¿Hay una mejor manera de controlar los archivos de registro? (Linux/python)

¿Hay alguna forma mejor de hacerlo? ¿Quizás alguna biblioteca que abstrae la lectura/cambios en los archivos observados?

+0

¿Ha intentado usar 'select()'? – hochl

+0

Inotify o el tiempo de modificación de sondeo es probablemente sus mejores apuestas. –

+0

@hochl 'select' comprueba si un descriptor de archivo puede leerse o escribirse, no verifica si el descriptor (que podría estar modificado por cualquier descriptor, en su mayoría sockets) tiene la" fuente "modificada. –

Respuesta

0

Si lo hace usted mismo, puede hacer algo como esto: Si detecta la modificación de archivos, obtenga el tamaño del archivo. Si es más grande que la última vez, puede buscar la posición anterior "última" (es decir, el tamaño anterior) y leer desde allí.

3

¿Por qué no bastará un "tail -f"? Puede usar popen y pipes para manejar esto desde Python.

Cuestiones relacionadas