Isso significa que /var/log/mylog.1
não existe ou as permissões / propriedade não permitem que o arquivo seja compactado. Verifique as permissões / propriedade com ls -l /var/log/mylog*
.
Ao usar o logrotate de um cronjob, estou recebendo estes erros:
error: unable to open /var/log/mylog.1 for compression
Alguém sabe o que isso significa e como posso corrigi-lo?
Você precisará obter mais informações.
O arquivo existe e o usuário que está executando o cron tem permissão para lê-lo?:
ls -l /var/log/mylog.1
Veja se logrotate pode fornecer mais informações. Ele deve ter um sinalizador detalhado que você possa ativar com '-v'.
Se o arquivo existir e as permissões estiverem corretas, uma causa poderá ser que o arquivo esteja aberto quando você tentar compactá-lo. Para evitar isso, você pode adicionar a seguinte linha ao seu /etc/logrotate.conf
:
delaycompress
Acabei de acertar este erro. Resumo: foi um conflito entre logrotate
e um script postrotate que escrevi, em que, em determinadas circunstâncias, meu script logrotate
excluiria o arquivo de log recém-movido antes de ser compactado. Embora você pense que logrotate
comprimiria o arquivo e então executaria o script pós-rotação, ele realmente o faria na outra ordem. Daí esta mensagem de erro.
Como logrotate
gerencia diretamente o arquivo que a pergunta mostra como ausente, não consigo pensar em mais nada que possa causar esse problema, a menos que haja algo realmente estranho sobre as permissões de arquivo (por exemplo, gravável e não legível). / p>