Como construir expressões cron
Expressões cron são a forma padrão de definir agendamentos recorrentes no Linux, em plataformas de nuvem, pipelines CI/CD e agendadores de tarefas. A sintaxe é compacta mas não intuitiva — construir um gerador visual de cron mostra exatamente quando sua tarefa será executada.
Sintaxe cron
Uma expressão cron tem 5 campos: minuto (0-59), hora (0-23), dia do mês (1-31), mês (1-12) e dia da semana (0-6, domingo=0), separados por espaços.
Agendamentos cron comuns
A cada minuto: * * * * *. A cada 5 minutos: */5 * * * *. A cada hora, no minuto 0: 0 * * * *. Diariamente à meia-noite: 0 0 * * *. Diariamente às 9h: 0 9 * * *. Toda segunda às 8h: 0 8 * * 1. Primeiro dia de cada mês: 0 0 1 * *. Dias úteis às 18h: 0 18 * * 1-5.
Como construir uma expressão cron
1. Defina seu agendamento — use os controles visuais para selecionar valores de minuto, hora, dia, mês e dia da semana. Ou comece com uma predefinição como "a cada hora" ou "diário à meia-noite". 2. Pré-visualize os horários de execução — o gerador mostra os próximos 5 horários de execução para você verificar se o agendamento está correto. 3. Copie a expressão — cole-a no seu crontab, configuração CI/CD ou agendador em nuvem.
Caracteres especiais
* significa "cada valor" — * * * * * executa a cada minuto. */n significa "a cada enésimo" — */15 * * * * executa a cada 15 minutos. Vírgula significa "múltiplos valores" — 0 8,12,18 * * * executa às 8h, meio-dia e 18h. Hífen significa "intervalo" — 0 9-17 * * * executa a cada hora das 9h às 17h.
Dicas
- Sempre verifique os próximos horários de execução — expressões cron são fáceis de errar. A pré-visualização mostra exatamente quando a tarefa será disparada, então verifique antes de implantar.
- Use predefinições como ponto de partida — comece com um agendamento comum como "diário" ou "a cada hora" e ajuste a partir daí em vez de escrever do zero.
- Preste atenção ao fuso horário — horários cron estão no fuso do sistema (geralmente UTC nos servidores). Se precisar de 9h no horário de Brasília, isso é
0 12 * * *em UTC. - Teste com intervalos curtos primeiro — ao configurar uma nova tarefa cron, teste com
*/5 * * * *(a cada 5 minutos) para confirmar que funciona, depois mude para o agendamento final.
Perguntas frequentes
Qual é o formato da expressão cron?
Uma expressão cron padrão tem 5 campos separados por espaços, representando minuto (0-59), hora (0-23), dia do mês (1-31), mês (1-12) e dia da semana (0-6, onde 0 é domingo). Um asterisco (*) significa "cada" valor nesse campo.
O que significa */5 em cron?
A sintaxe */5 significa "a cada 5º". No campo de minuto, */5 significa a cada 5 minutos (0, 5, 10, 15...). No campo de hora, */5 significa a cada 5 horas. Funciona em qualquer campo.
As expressões cron são iguais em todas as plataformas?
O formato de 5 campos é padrão em Linux cron, AWS EventBridge, GitHub Actions e na maioria dos sistemas de agendamento. Algumas plataformas adicionam um sexto campo para segundos ou ano. Verifique a documentação da sua plataforma.
Como agendo algo para o último dia de cada mês?
O cron padrão não tem uma palavra-chave "último dia". Use uma solução alternativa como executar diariamente e verificar a data no seu script, ou use extensões específicas da plataforma (AWS EventBridge suporta L para "último").