Seu arquivo de configuração pede para girar o arquivo *.log
em /home/user/test
todos os dias, mesmo se o arquivo estiver vazio e preservar dois arquivos antigos.
logrotate execute esta ação (como você pode ver na saída detalhada):
- alterar usuário e grupo (devido a
su user user
) - renomear registros antigos, se existir, a partir de
1.log.2
(devido arotate 2
) - remover
1.log.3
se existir (devido arotate 2
) - renomear atual
1.log
em1.log.1
- alternar usuário e grupo
Assim, como esperado, no final você encontrou 1.log.1
que deveria ser 1.log
do arquivo renomeado.
Renomear processo imprime erro, mas o logrotate não falha, se o arquivo de log antigo não existir, o que ainda não foi criado nos dias anteriores.
Se um aplicativo estiver gravando em 1.log
, após a rotação do log, ele ainda gravará em 1.log.1
porque renomear o arquivo não altera o inode do arquivo.
Nesse caso, você deve forçar o aplicativo a fechar o arquivo de log atual e reabri-lo, usando sua reinicialização normal.
Aqui está um link útil sobre como fazer.
Não consigo explicar por que o logrotate tenta renomear 1.log.0
, parece um erro de implementação que não causa nenhum bug.