Eu tenho uma caixa do CentOS 6.7 que, por algum motivo, não roda os logs diariamente. Estou recebendo um e-mail semelhante a este todos os dias em / var / mail / root:
To: [email protected]
Content-Type: text/plain; charset="ANSI_X3.4-1968"
Subject: Anacron job 'cron.daily' on server.nl
Message-Id: <[email protected]>
Date: Wed, 9 Mar 2016 03:42:02 +0100 (CET)
/etc/cron.daily/logrotate:
error: error creating unique temp file: Permission denied
A execução de logrotate -vf /etc/logrotate.conf
gira os logs conforme o esperado sem erros ou avisos. O SELinux está habilitado, então suspeitei que poderia ser a causa do erro de permissão negada, mas /var/log/audit/audit.log
não tem entradas para nada nas últimas semanas.
Não sei como solucionar o que está causando falha no logrotate durante a noite enquanto ele funciona bem durante o dia, se eu o estiver executando manualmente.
Adição 10 de março: graças a Iain, consegui obter a saída do log do que o (ana) cron está fazendo durante a noite, no final de /tmp/logrotate.out
estão as seguintes linhas:
@rotating pattern: /var/log/btmp monthly (1 rotations)
empty log files are rotated, old logs are removed
considering log /var/log/btmp
log does not need rotating
set default create context
error: error creating unique temp file: Permission denied
Isso não era o que eu esperava, pois não é um erro relacionado aos logs dos aplicativos Rails que eu estava tentando solucionar. Por não se concentrar na mensagem de erro em si (que produziu apenas alguns acessos no Google em coreano e russo), mas mais sobre o problema real que estou tendo, encontrei tarefa cron do logrotate não rodando certos logs que é muito similar ao problema que estou tentando resolver (meus logs nginx rodam, pula os logs do Rails). Então, pode ser relacionado ao SELinux, afinal, mesmo que não tenha aparecido em audit.log
. Estou tentando a solução postada lá.