Skip to main content
CheckTown
Geradores

Gerador Crontab: Construir expressoes Cron para tarefas agendadas

Publicado 6 min de leitura
Neste artigo

O que e Crontab?

Crontab (tabela cron) e um agendador de tarefas baseado em tempo em sistemas operacionais tipo Unix. Permite agendar comandos ou scripts para executar automaticamente em intervalos especificados.

Cada usuario do sistema pode ter seu proprio arquivo crontab. O arquivo contem uma lista de jobs cron onde cada linha define um agendamento usando uma expressao temporal de cinco campos.

Sintaxe de expressoes Cron

Uma expressao cron consiste em cinco campos separados por espacos:

  • Minuto (0-59) — especifica em qual minuto o job deve executar
  • Hora (0-23) — especifica a hora em formato 24 horas
  • Dia do mes (1-31) — especifica o dia do mes
  • Mes (1-12) — especifica o mes do ano
  • Dia da semana (0-7, onde 0 e 7 sao domingo)

Caracteres especiais: * (qualquer valor), / (valores de passo), - (intervalos) e virgula (listas).

Padroes Cron comuns

As expressoes cron mais utilizadas:

  • */5 * * * * — a cada 5 minutos, comumente usado para verificacoes de saude
  • 0 * * * * — a cada hora no minuto 0
  • 0 0 * * * — diariamente a meia-noite, padrao para backups
  • 0 0 * * 1-5 — cada dia util a meia-noite
  • 0 0 1 * * — primeiro dia de cada mes a meia-noite
  • 0 9,17 * * 1-5 — as 9h e 17h em dias uteis

Experimente gratuitamente — sem cadastro

Construir uma expressao Cron →

Casos de uso comuns

Jobs cron automatizam praticamente qualquer tarefa repetitiva do sistema:

  • Rotacao e limpeza de logs — comprimir ou excluir automaticamente arquivos de log antigos
  • Backups de banco de dados — agendar comandos regulares de backup
  • Geracao de relatorios — compilar relatorios diarios, semanais ou mensais
  • Limpeza de cache — limpar periodicamente entradas de cache expiradas
  • Monitoramento do sistema — executar verificacoes de saude em intervalos regulares

Dicas e armadilhas

Mesmo desenvolvedores experientes encontram armadilhas comuns do cron:

  • Consciencia de fuso horario — cron usa o fuso horario do sistema. Configure TZ ou use UTC
  • Jobs sobrepostos — use flock para evitar multiplas instancias simultaneas
  • Problemas de PATH — cron executa com ambiente minimo. Use sempre caminhos absolutos
  • Tratamento de saida — cron envia stdout e stderr por email. Redirecione para um arquivo de log
  • Depuracao — verifique /var/log/syslog ou /var/log/cron

Perguntas frequentes

O cron pode agendar tarefas com precisao de segundos?

O cron padrao nao suporta segundos. Use uma solucao alternativa ou mude para systemd timers.

Qual a diferenca entre cron e systemd timers?

Cron e o agendador Unix tradicional. Systemd timers oferecem precisao sub-minuto e melhor logging mas sao especificos do Linux.

Como testar um job cron?

Execute o comando manualmente primeiro, simule o ambiente cron com env -i, depois agende a cada minuto para verificar.

Ferramentas relacionadas