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
| Agendamento | Expressão |
|---|---|
| A cada minuto | * * * * * |
| A cada 5 minutos | */5 * * * * |
| De hora a hora | 0 * * * * |
| Todos os dias à meia-noite | 0 0 * * * |
| Dias úteis às 09:00 | 0 9 * * 1-5 |
Os operadores *, ,, - e / representam todos os valores, uma lista, um intervalo e um passo.
Mais exemplos úteis
| Objetivo | Expressão | Nota |
|---|---|---|
| A cada 15 minutos | */15 * * * * | Nos minutos 0, 15, 30 e 45 |
| Todos os dias às 06:30 | 30 6 * * * | Usa o fuso horário do servidor |
| Todas as segundas às 09:00 | 0 9 * * 1 | Confirma a numeração do domingo |
| Dias úteis às 18:00 | 0 18 * * 1-5 | De segunda a sexta-feira |
| A cada três horas | 0 */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.