Archivos de registro para procesos sin terminación

Archivos de registro para procesos sin terminación

Estoy escribiendo un programa que está diseñado para no terminar nunca. También producirá registros (archivos) grandes de lo que está haciendo. Lo que me gustaría es que un proceso de Linux periódicamente (cada X minutos (¿cronjob?)):

  1. Tome los registros actuales del archivo de registro actual
  2. colóquelos en un archivo separado (con el nombre apropiado) para almacenarlos o eliminarlos sin conexión
  3. Trunca el archivo de registro actual para que los datos no se dupliquen.

Todosin pérdida o interrupción de datosal programa de producción. Para terminar con una secuencia de registros delimitados en el tiempo.

¿Existe alguna utilidad de Linux o una solución conocida para esto? ¿O debería incorporar esta funcionalidad de registro en el programa?

Respuesta1

Usos de Linux syslogdpara administrar archivos de registro. No he usado esto personalmente, así que no estoy seguro de cuáles podrían ser los problemas, pero esencialmente simplemente envías mensajes al registro y el demonio se encarga de la rotación del archivo, etc.

Mira aquí:http://linux.die.net/man/3/syslog

Lo configuraría /etc/syslog.confpara enrutar sus mensajes a un archivo en particular, y también puede rotar manualmente los registros usando logrotate, creo, o configurar un trabajo cron.

Respuesta2

Por lo general, los demonios simplemente escriben registros y nada más. La rotación de registros es una tarea de otro software. normalmente lo hacelogrotateo software similar.

información relacionada