Acredito que seja o conteúdo do arquivo de estado, que é o meu caso /var/lib/logrotate.status
. Cada arquivo tem uma linha, que é a data em que foi girada pela última vez; Se você executar logrotate em tal data que um dado arquivo é devido para rotação, dado o número de dias entre a data atual e a data no arquivo (1 para diariamente, 7 para semanalmente, etc.), o arquivo será rotacionado.
O logrotate não parece se importar com a hora do dia em que é executado; mesmo que normalmente seja executado em 2355, se você fosse executá-lo em 0130, ele ainda rodaria os arquivos marcados diariamente e os últimos feitos ontem; mas tendo feito isso, colocaria a data de hoje no arquivo de estado (contra quaisquer arquivos girados), então uma segunda execução em 2355 não faria nada.