Compreendendo a rotação do syslog, para implementar a própria rotação do syslog

0

Estou tentando implementar um servidor syslog simples (baseado em UDP). Neste, estamos tentando implementar o recurso de rotação do SYSLOG. Atualmente, a roatação de logs é feita pela rename C API.

Ao fazer isso, só conseguiremos renomear os nomes dos arquivos syslog. Não é o arquivo syslog que está dentro do arquivo gzip.

Portanto, estou tentando entender qual é o procedimento seguido no Linux, para que o syslog roatation possa ser implementado em meu projeto do Windows.

    
por Ragav 23.04.2015 / 08:43

1 resposta

1

Normalmente, a rotação do arquivo de log é tratada fora do daemon syslog, por exemplo, a ferramenta logrotate . Após a rotação, um sinal é enviado ao daemon syslog para reabrir todos os arquivos de log. Isso funciona bem em linux / unix, já que não é um problema para renomear arquivos que são abertos por outros processos; Eu entendo que no Windows isso pode ser mais problemático.

EDIT: os arquivos de registro são renomeados, por exemplo daemon.log se torna daemon.log.0 ou (preferencialmente) daemon.log.20150423 . Imediatamente ou um ciclo depois, o arquivo rotacionado é compactado com gzip , embora tecnicamente não tenha nada a ver com a própria rotação do logfile, é apenas para liberar espaço e você pode economizar tempo e não fazer a compactação, dado o terabyte de hoje discos.

    
por 23.04.2015 / 09:18

Tags