como usar o syslog para evitar que o arquivo de log seja truncado quando vários proceses estiverem tentando gravar no mesmo arquivo de log?

2

Eu queria saber o uso do syslog quando vários processos estão tentando gravar no mesmo arquivo de log como

for i in $var
do
some process >> logfile &
done
wait
    
por munish 12.04.2013 / 17:58

1 resposta

3

Você pode fazer

some process | logger &

para gerar processos e ter sua saída direcionada para o syslog. Observe que o recurso padrão será "usuário" e o nível padrão "aviso". Você pode alterá-los usando a opção -p .

O motivo pelo qual isso funciona sem probelm é que os processos não gravam diretamente no arquivo de destino. Eles enviam suas mensagens para o daemon syslog, que gerencia a gravação no (s) arquivo (s) apropriado (s). Tanto quanto eu entendo as coisas, a atomicidade seria baseada em linha, ou seja, cada linha de saída de um processo iria para o syslog sem interferência, mas as mensagens de várias linhas poderiam obter linhas de outros processos misturados.

    
por 12.04.2013 / 19:33