Como construir expressões cron

· 4 min de leitura

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

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").