Dependendo do seu sistema operacional. Algumas (todas?) Distribuições Linux possuem um diretório /etc/cron.hourly
onde você pode colocar tarefas do cron para serem executadas a cada hora.
Outros têm um diretório /etc/cron.d/
. Lá você pode colocar cron-jobs que devem ser executados como qualquer usuário especial com as configurações cron usuais de uma entrada crontab (e você tem que especificar o nome de usuário).
Se você usar um desses em vez do script de rotatividade de log padrão em /etc/cron.daily/
, deverá copiar esse script e cp /dev/null
para a posição original. Caso contrário, ele será reativado por uma atualização de patch logrotate.
Para rotação horária adequada, também tome cuidado para que a diretiva dateext
não seja definida. Em caso afirmativo, por padrão, o primeiro arquivo girado receberá a extensão da data atual como AAAAMMDD. Então, a segunda vez que o logrotate fica ativo no mesmo dia, ele simplesmente pula a rotação mesmo que o limite de size
tenha excedido.
O motivo é que o novo nome do arquivo a ser rotacionado já existe e o logrotate não anexa o conteúdo ao arquivo antigo existente.
Por exemplo, no RHEL e no CentOS, a diretiva dateext
é fornecida por padrão em /etc/logrotate.conf
. Depois de remover ou comentar essa linha, os arquivos girados simplesmente obterão um número em execução como extensão até atingir o valor rotate
. Desta forma, é possível realizar várias rotações por dia.