Dois scripts em /etc/cron.daily parecem estar rodando meus logs: logrotate e sysklogd

2

Parece que meus arquivos de log gerados pelo syslog estão sendo rotacionados duas vezes por dia. Eu acredito que isso se deve ao fato de /etc/cron.daily/logrotate e /etc/cron.daily/sysklogd fazerem trabalhos sobrepostos.

Aqui estão as linhas relevantes do script sysklogd:

logs=$(syslogd-listfiles)

test -n "$logs" || exit 0

for LOG in $logs
do
   if [ -s $LOG ]; then
      savelog -g adm -m 640 -u ${USER} -c 7 $LOG >/dev/null
   fi
done

Quais são as melhores práticas comuns para lidar com isso? Os arquivos gerados pelo syslog não devem ser listados no logrotate? E se eu quiser usar alguns dos recursos mais avançados do logrotate, como scripts posteriores - devo tentar fazer o /etc/cron.daily/sysklogd fazê-lo, ou devo comentar essas linhas e deixar o logrotate fazer isso?

    
por mike 08.12.2009 / 20:47

2 respostas

2

Fiquei muito irritado quando o sysklogd começou a fazer a rotação de log - não é como se fosse um recurso ausente que não existia em outro lugar. Em meus sistemas, no entanto, o logrotate não está configurado para fazer nada com os logs do sistema - é algo que você configurou manualmente?

Para manter o princípio da menor surpresa, deixo o sysklogd rodar seus próprios logs (com base em que, se alguém precisar manter um dos meus sistemas, é melhor se eles obtiverem o comportamento padrão sempre que possível), mas se você Eu queria os recursos avançados do logrotate, eu desligaria a tarefa cron do sysklogd, comentaria um ponteiro para o local correto e faria o logrotate wild.

    
por 08.12.2009 / 21:49
0

Qual distribuição?

Se você executar "syslogd-listfiles", algum dos arquivos exibidos nessa lista também será gerenciado por meio de um arquivo em /etc/logrotate.d /?

Olhando na minha caixa Ubuntu, /etc/cron.daily/sysklogd na verdade nunca faz nada porque / usr / sbin / syslogd-listfiles não existe.

    
por 08.12.2009 / 21:49