O arquivo de status do logrotate é usado para rastrear quando um log diário foi girado pela última vez . Parece estar disposto a escrever uma data fictícia como 1970, ou 1907, no caso de um sistema embutido meu. No entanto, quando é a próxima execução, ele rejeita a data em seu próprio arquivo de status e não gira os registros.
Eu trabalhei em torno disso apenas excluindo o arquivo de status. Isso significa que, quando o logrotate for executado na próxima vez, ele assumirá que não é necessário girar os logs para outro dia, o que é bom para mim.
Uma solução melhor seria modificar o script cron logrotate para primeiro verificar se o relógio está sincronizado com ntpq / ntpdate. Na verdade, a maneira mais fácil de adaptar isso a um script é usar check_ntp_time
na distribuição nagios-plugins padrão, como
/usr/lib/nagios/plugins/check_ntp_time -H pool.ntp.org
Em seguida, apenas verifique se o código de retorno é 0 antes de permitir que o logrotate seja executado.
Você também pode fazer uma chamada para o ntpdate no script cron do logrotate ou nos scripts de inicialização.
Além disso, certifique-se de que o cron esteja configurado para enviar e-mails quando tarefas agendadas falharem; A maneira mais fácil de tornar isso possível é instalar ssmtp
.