Construtor de Expressões Cron
Uma expressão cron é uma string de cinco campos (minuto, hora, dia do mês, mês, dia da semana) que define quando um trabalho agendado é executado. */5 * * * * significa a cada 5 minutos; 0 9 * * 1-5 significa às 9 AM nos dias úteis. Crie expressões interativamente abaixo, leia a descrição em texto simples e verifique as próximas execuções antes de implementar.
Como Usar
- Selecione um preset ou comece a digitar nas entradas dos campos
- Edite os campos individualmente. Cada entrada corresponde a um campo cron (minuto, hora, dia, mês, dia da semana)
- Leia a descrição. A ferramenta traduz sua expressão para texto simples em tempo real
- Verifique as próximas execuções. Confirme que o agendamento funciona como você espera
- Copie a expressão e cole no seu crontab, manifesto Kubernetes ou configuração de CI
Detalhes da Sintaxe Cron
Cada um dos cinco campos aceita estes tipos de valores:
-
- para cada valor possível naquele campo
- 5 para um valor específico
- 1,3,5 para uma lista de valores
- 1-5 para um intervalo (inclusivo)
- */10 para um passó (a cada 10 valores começando do mínimo do campo)
- 5-20/3 para um passó dentro de um intervalo (5, 8, 11, 14, 17, 20)
O campo de mês aceita 1-12 ou nomês de três letras (JAN a DEZ). O campo de dia da semana aceita 0-6 (dom=0) ou nomês (DOM a SAB).
Os aliases abreviados comuns como @daily (equivalente a 0 0 * * *), @hourly (0 * * * *) e @weekly (0 0 * * 0) são suportados pela maioria das implementações cron é por esta ferramenta.
O comportamento mais confusó no cron é a interação dia do mês / dia da semana. Quando ambos os campos estão restritos (nenhum é *), o cron POSIX executa o trabalho quando qualquer uma das condições coincide. Issó é lógica OR, não AND. Se você configurar 0 0 15 * 5, o trabalho executa à meia-noite no dia 15 do mês E toda sexta-feira.
Você precisa converter as execuções para o seu fusó horário. O cron usa o fusó horário do sistema. Se seu servidor está em UTC, 0 9 * * 1-5 executa às 9 AM UTC, não no seu horário local. Para fusos horários específicos, defina a variável TZ no crontab ou use o CRON_TZ se sua implementação suportar.
Presets Comuns
| Expressão | Descrição |
|---|---|
* * * * * | A cada minuto |
*/5 * * * * | A cada 5 minutos |
*/15 * * * * | A cada 15 minutos |
0 * * * * | A cada hora |
0 0 * * * | Diariamente à meia-noite |
0 9 * * 1-5 | Dias úteis às 9 AM |
0 0 * * 0 | Semanalmente (domingo) |
0 0 1 * * | Mensalmente no dia 1 |
Teste Antes de Implementar
Sempre verifique as próximas execuções antes de colocar uma expressão cron em produção. O que parece ser “a cada 2 horas” pode não ser o que você espera se você esquecer como o operador de passó funciona no campo de hora. Use os campos interativos acima, leia a descrição em texto simples e confirme os próximos horários de execução.