⏱️
← Voltar aos guias

Como Validar Expressões Cron: Um Guia Passo a Passo

· Tags: cron-validation, cron-debugging, cron-syntax-check, schedule-validation, linux-crontab

Como Validar Expressões Cron

As expressões cron são compactas, mas fáceis de errar. Uma barra mal posicionada ou um valor fora do intervalo pode fazer com que um trabalho seja executado no horário errado — ou nem seja executado. Validar expressões antes da implantação economiza horas de depuração quando uma tarefa crítica falha silenciosamente.

Erros de Sintaxe Comuns

Valores Fora do Intervalo

Cada campo aceita um intervalo específico. Valores fora desse intervalo são inválidos.

# Invalid: minute 60 is out of range (0-59)
60 * * * *

# Invalid: hour 24 is out of range (0-23)
0 24 * * *

Campos Ausentes

Uma expressão cron requer exatamente cinco campos. Quatro campos é inválido; seis campos exige sintaxe estendida.

# Invalid: only 4 fields (missing day of week)
0 0 * *

# Invalid: 6-field syntax without proper daemon support
0 0 * * * * /command.sh

Conte sempre: minuto, hora, dia do mês, mês, dia da semana.

Valores de Passo Incorretos

# Invalid: cannot step by 0
*/0 * * * *

# Invalid: step exceeds field maximum
*/61 * * * *

Os valores de passo devem começar em 1 e não exceder o máximo do campo.

Como Validar uma Expressão Cron

Etapa 1: Dividir em Campos

Divida pelos espaços e verifique se há exatamente cinco campos:

Expression: 30 6 * * 1-5
Fields:     minute=30, hour=6, day=*, month=*, weekday=1-5

Etapa 2: Validar Cada Campo

| Campo | Intervalo Permitido | Aceita Caracteres Especiais | |-------|---------------------|-----------------------------| | Minuto | 0-59 | * , - / | | Hora | 0-23 | * , - / | | Dia do Mês | 1-31 | * , - / | | Mês | 1-12 | * , - / | | Dia da Semana | 0-7 | * , - / |

Etapa 3: Verificar Conflitos

Algumas expressões são sintaticamente válidas, mas logicamente surpreendentes:

# Runs on the 15th OR every Sunday — an OR condition
0 0 15 * 0

O dia do mês e o dia da semana juntos criam uma condição OU no cron padrão. O trabalho é executado quando um dos dois corresponde.

Etapa 4: Pré-visualizar os Próximos Horários

Gere horários de execução para verificar visualmente seu agendamento:

Expression: 0 2 * * 1
Next 5 executions:
  1. 2026-07-27 02:00:00 (Monday)
  2. 2026-08-03 02:00:00 (Monday)
  3. 2026-08-10 02:00:00 (Monday)

Se a pré-visualização não corresponder à sua intenção, corrija a expressão antes da produção.

Depurando Trabalhos Que Não São Executados

Uma expressão válida que não é executada geralmente é um problema do sistema:

  • Permissões — o script deve ter permissão de execução (chmod +x).
  • Caminho — o cron usa um PATH mínimo. Use sempre caminhos absolutos: /usr/local/bin/mybackup.sh em vez de mybackup.sh.
  • Ambiente — o cron não carrega perfis de shell. Exporte variáveis dentro do crontab ou do próprio script.
  • Registro de logs — redirecione a saída para confirmar a execução:
0 6 * * * /path/to/script.sh >> /var/log/cron.log 2>&1

Usando a Ferramenta Validadora

O validador de expressões cron oferece três funções:

  1. Validação de sintaxe — feedback imediato sobre os valores dos campos e a formatação.
  2. Pré-visualização do agendamento — veja os próximos horários de execução a partir da data atual.
  3. Calendário visual — execuções agendadas plotadas em um calendário mensal.

Nenhuma expressão cron deve ser implantada sem pré-visualizar os próximos horários de execução. Uma verificação de trinta segundos evita falhas silenciosas de agendamento.

Como Validar Expressões Cron: Um Guia Passo a Passo - CoolTool