Sintaxe Cron e exemplos de expressões

Entenda os campos, curingas e operadores Cron com exemplos de agendamentos por hora, dia, semana e mês.

Os cinco campos

minuto hora dia-do-mês mês dia-da-semana
AgendamentoExpressão
A cada minuto* * * * *
A cada 5 minutos*/5 * * * *
A cada hora0 * * * *
Todos os dias à meia-noite0 0 * * *
Dias úteis às 09:000 9 * * 1-5
Primeiro dia do mês às 07:000 7 1 * *

Os operadores *, ,, - e / representam todos os valores, uma lista, um intervalo e um passo.

Mais exemplos úteis

ObjetivoExpressãoObservação
A cada 15 minutos*/15 * * * *Nos minutos 0, 15, 30 e 45
Todos os dias às 06:3030 6 * * *Usa o fuso horário do servidor
Toda segunda-feira às 09:000 9 * * 1Confira a numeração do domingo
Dias úteis às 18:000 18 * * 1-5De segunda a sexta-feira
A cada três horas0 */3 * * *Às 00:00, 03:00, 06:00 e assim por diante

O Cron compara cada campo com o horário atual. */15 não significa quinze minutos depois da execução anterior. A expressão corresponde a pontos fixos dentro da hora.

Fusos horários e execuções perdidas

Uma expressão Cron não contém um fuso horário. O Cron tradicional geralmente usa o fuso da máquina, enquanto alguns contêineres e serviços gerenciados usam UTC. Mudanças no horário de verão podem eliminar ou repetir um horário local.

O Cron também não recupera automaticamente uma tarefa perdida enquanto a máquina estava desligada. Se isso for necessário, use um agendador com tratamento de execuções perdidas ou prepare a tarefa para identificar trabalho pendente.

Validação antes da produção

Confira várias execuções futuras, teste o comando separadamente e identifique o dialeto Cron usado pela plataforma. Verifique principalmente meia-noite, mudanças de mês, dias úteis e horário de verão. Em produção, registre falhas e impeça sobreposições quando uma tarefa puder demorar mais do que o intervalo.

Use o decodificador Cron para receber uma explicação e conferir as próximas execuções.