Ferramenta 04 · roda no seu navegador
Cron para CronJob
Escreva o schedule e veja, em português, quando o job roda, as próximas cinco execuções no fuso escolhido e o YAML com timeZone.
privacidadeRoda no seu navegador. Nada sai da sua máquina.
erro
A sintaxe aceita
documentação do Kubernetes, "CronJob", seção "Schedule syntax"| Campo | Valores | Exemplos |
|---|---|---|
| minuto | 0-59 | 0 · */15 · 5,35 |
| hora | 0-23 | 3 · */6 · 8-18 |
| dia do mês | 1-31 | 1 · 1,15 · ? |
| mês | 1-12 ou JAN-DEC | * · 1-6 · JAN |
| dia da semana | 0-6 ou SUN-SAT (7 também é domingo) | 1-5 · MON · 0,6 |
O ? vale o mesmo que *. As macros aceitas são @yearly (ou @annually), @monthly, @weekly, @daily (ou @midnight) e @hourly. As próximas execuções são calculadas no relógio do fuso escolhido, como o controlador faz quando o CronJob tem timeZone.
Se o job roda e falha em todas as tentativas, o que aparece é BackoffLimitExceeded.
Perguntas frequentes
Em que fuso o CronJob roda se eu não disser nada?
No fuso local do kube-controller-manager, segundo a documentação do CronJob, e você nem sempre sabe qual é. Se ele estiver em UTC, 0 3 * * * vira meia-noite em Brasília. Para não depender disso, use o campo .spec.timeZone, estável desde o Kubernetes 1.27.
Posso escrever CRON_TZ=America/Sao_Paulo no schedule?
Não. A documentação diz que TZ e CRON_TZ dentro do schedule nunca foram suportados, e a API recusa o CronJob com erro de validação. O caminho é o campo timeZone.
Dia do mês e dia da semana juntos: vale os dois ou um dos dois?
Um dos dois. Com os dois campos restritos, como em 0 0 1 * 1, o job roda no dia 1 e também em toda segunda. É o comportamento do cron tradicional, e a ferramenta mostra as datas para você conferir.
Dá para agendar em segundos?
Não. O schedule tem cinco campos, e o menor intervalo é um minuto. Uma expressão com seis campos é recusada.
E se o cluster estiver fora do ar no horário?
O controlador conta as execuções perdidas; com startingDeadlineSeconds você limita quanto atraso ainda vale executar. Veja o campo na documentação do CronJob, seção "Deadline for delayed Job start".