Após a rotação, o arquivo de log atual é movido e possivelmente comprimido, se for especificado. Então é criado de novo. [procurando uma fonte diferente da minha experiência]
Isso é um problema se um serviço estiver em execução que tenha o arquivo de log aberto no momento da rotação. O arquivo será desvinculado, mas o espaço em disco não está realmente liberado porque o arquivo ainda está aberto.
É por isso que os serviços geralmente instalam um script de logrotate mais elaborado que manipula a rotação. Como um exemplo, veja o /etc/logrotate.d/nginx
definindo o comportamento de rotação para o nginx
webserver:
[....]
postrotate
invoke-rc.d nginx rotate >/dev/null 2>&1
endscript
O bloco postrotate
é executado após o novo arquivo de log ter sido criado. Invoca o script de serviço do nginx com rotate
informando o serviço para reabrir seu arquivo de log .