Geralmente, os serviços mantêm os arquivos de log abertos enquanto estão em execução. Isso significa que eles não se importam se os arquivos de log forem renomeados / movidos ou excluídos, eles continuarão a gravar no arquivo aberto tratado.
Quando o logrotate move os arquivos, os serviços continuam gravando no mesmo arquivo.
Exemplo: o crond irá gravar em /var/log/cron.log. Então logrotate irá renomear o arquivo para /var/log/cron.log.1, então o crond continuará escrevendo para o arquivo aberto /var/log/cron.log.1.
Enviar o sinal HUP para o crond o forçará a fechar o identificador de arquivo existente e abrir o novo identificador de arquivo ao caminho original /var/log/cron.log, que criará um novo arquivo.
O uso do sinal HUP em vez de outro fica a critério do programa. Alguns serviços, como o php-fpm, irão escutar o sinal USR1 para reabrir o seu identificador de arquivos sem terminar.