Por que */45 no cron não significa a cada 45 minutos
09:00, 09:45, 10:00. O limite da hora explica a execução extra inesperada.
*/45 * * * * é executado no minuto 0 e no minuto 45 de cada hora. Os intervalos alternam entre 45 minutos e 15 minutos. Ele não espera 45 minutos após a execução anterior.
O cron verifica se o horário corresponde aos valores de seus campos. O passo no campo dos minutos reinicia quando a hora muda. Essa distinção é importante se você estiver agendando um relatório, uma atualização de feed ou uma tarefa de limpeza.
Verifique a mudança de hora
Abra o construtor de cron, escolha Colar expressão e insira */45 * * * *. Defina Fuso horário da agenda para UTC. Em Pré-visualizar depois, escolha 6 de novembro de 2026 às 08:59. No celular, mude para Próximas execuções para ver a lista.
As cinco primeiras execuções são:
| Execução em UTC | Intervalo desde a execução anterior |
|---|---|
| 09:00 | — |
| 09:45 | 45 minutos |
| 10:00 | 15 minutos |
| 10:45 | 45 minutos |
| 11:00 | 15 minutos |
Mostrar mais 5 estende a pré-visualização. A data está fixa aqui para você reproduzir nossas execuções registradas; você pode usar qualquer data UTC comum para ver o mesmo comportamento na mudança de hora. A pré-visualização lista execuções estritamente após o horário escolhido.
Um passo fica dentro do seu campo
O campo dos minutos vai de 0 a 59. Um passo de 45 seleciona 0 e 45, depois a próxima hora começa novamente em 0. Em comparação, */15 * * * * seleciona 0, 15, 30 e 45, produzindo intervalos iguais de 15 minutos em UTC.
O manual do crontab descreve esse comportamento campo a campo. O construtor suporta cinco campos: minuto, hora, dia do mês, mês e dia da semana. Uma expressão de seis campos com segundos pertence a um dialeto diferente e é rejeitada aqui.
Uma descrição amigável acima da pré-visualização é útil, mas verifique os timestamps reais antes de usar uma expressão com passo. Em especial, observe um par de execuções em lados opostos da mudança de hora.
Se precisar de um agendamento a cada 45 minutos no relógio
Para um agendamento fixo em UTC às 00:00, 00:45, 01:30, 02:15, 03:00 e assim por diante, quatro expressões podem cobrir o padrão que se repete a cada três horas:
0 0-23/3 * * *
45 0-23/3 * * *
30 1-23/3 * * *
15 2-23/3 * * *
Pré-visualize cada expressão separadamente. A ferramenta aceita uma expressão por vez e não instala tarefas. No seu agendador, configure as quatro entradas para chamar a mesma tarefa e use UTC em todas. São apenas expressões de agendamento: um crontab Unix também precisa de um comando após cada uma, enquanto um serviço hospedado pode usar configurações de gatilho separadas.
Baixe as quatro expressões. Nossa pré-visualização combinada mostra 09:00, 09:45, 10:30, 11:15 e 12:00, com 45 minutos entre execuções. Este é um agendamento baseado no relógio, não um atraso medido a partir da conclusão de uma tarefa.
Combine o agendamento com a tarefa
Se a exigência for “esperar 45 minutos após esta tarefa terminar”, use um agendador ou fila com esse comportamento de intervalo. Nem um passo no cron nem o agendamento com quatro entradas esperam a conclusão da execução anterior. Decida como evitar execuções sobrepostas se uma tarefa puder demorar mais que o intervalo.
A configuração de fuso horário nesta pré-visualização não é copiada junto com a expressão. Defina-a novamente no agendador de destino. UTC evita mudanças de horário de verão neste exemplo; um agendamento em horário local precisa de verificações separadas nessas mudanças.
O registro de resultados foi gerado com o parser real da ferramenta em 6 de novembro de 2026. Ele verifica os intervalos alternados e 65 execuções combinadas para o agendamento com quatro entradas. É uma verificação de cálculo, não uma prova de que uma tarefa em segundo plano foi instalada ou executada.