Sintaxe Cron e exemplos de expressões

Percebe os campos, curingas e operadores Cron com exemplos para agendamentos horários, diários, semanais e mensais.

Os cinco campos

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

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

Mais exemplos úteis

ObjetivoExpressãoNota
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
Todas as segundas às 09:000 9 * * 1Confirma 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, etc.

O Cron compara cada campo com a hora atual. */15 não significa quinze minutos depois da execução anterior, mas sim posições fixas dentro da hora.

Fusos horários e execuções perdidas

Uma expressão Cron não inclui um fuso horário. Normalmente, o Cron usa o fuso da máquina, enquanto alguns contentores e serviços geridos usam UTC. As mudanças da hora podem eliminar ou repetir uma hora local.

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

Validar antes da produção

Confirma várias execuções futuras, testa o comando separadamente e identifica o dialeto Cron. Verifica especialmente a meia-noite, mudanças de mês, dias úteis e mudanças da hora. Em produção, regista falhas e impede sobreposições quando uma tarefa pode demorar mais do que o respetivo intervalo.

Usa o descodificador Cron para obteres uma explicação e veres as próximas execuções.