Arquivos de log para processos não terminados

1

Eu estou escrevendo um programa que é projetado para nunca terminar, Ele também irá produzir grandes logs (arquivos) do que está fazendo. O que eu gostaria é de um processo Linux periodicamente (a cada X minutos (cronjob?)):

  1. Pegue os logs atuais do arquivo de log atual
  2. coloque-os em um arquivo separado (apropriadamente chamado) para armazenamento / remoção off-line
  3. Truncar o arquivo de log atual para que os dados não sejam duplicados.

Todos sem perda ou interrupção de dados para o programa de produção. Então acabei com uma sequência de registros delimitados por tempo

Existe um utilitário Linux ou uma solução conhecida para isso? ou devo construir essa funcionalidade de registro no programa?

    
por NWS 11.04.2012 / 12:17

2 respostas

3

O Linux usa syslogd para gerenciar arquivos de log. Eu não usei isso pessoalmente, então eu não tenho certeza do que as armadilhas podem ser, mas essencialmente você apenas envia mensagens para o log e o deamon cuida da rotação de arquivos, etc.

Veja aqui: link

Você configuraria /etc/syslog.conf para rotear suas mensagens para um determinado arquivo, e você poderia rotacionar manualmente os registros usando logrotate , também, eu acho, ou configurar um cron job.

    
por 11.04.2012 / 12:44
0

Normalmente, os daemons apenas escrevem logs e nada mais. A rotação de logs é um trabalho de outro software. Geralmente ele faz logrotate ou software similar.

    
por 11.04.2012 / 12:32

Tags