No dia a dia do desenvolvimento de software e administração de sistemas, a automação de processos repetitivos é fundamental. Seja para fazer backups diários, limpar caches acumulados ou disparar e-mails de relatórios, o Cron é a ferramenta padrão e mais confiável nos sistemas operacionais baseados em Unix/Linux.
Embora seja uma ferramenta extremamente robusta, a sintaxe das expressões cron do Crontab (tabela de agendamentos) frequentemente confunde desenvolvedores iniciantes e experientes devido à sua estrutura concisa e cheia de asteriscos. Neste guia prático, vamos desmistificar o funcionamento do cron e entender como ler e configurar agendamentos com facilidade.
1. A Estrutura de uma Expressão Cron
Uma linha de agendamento no Crontab consiste em duas partes principais: a expressão cron de tempo (composta por 5 campos separados por espaços) e o comando que deve ser executado.
A estrutura padrão dos 5 campos de tempo segue a ordem abaixo:
| Posição | Campo | Valores Permitidos | Caracteres Especiais |
|---|---|---|---|
| 1 | Minuto | 0 - 59 | * , - / |
| 2 | Hora | 0 - 23 | * , - / |
| 3 | Dia do Mês | 1 - 31 | * , - / |
| 4 | Mês | 1 - 12 (ou JAN-DEC) | * , - / |
| 5 | Dia da Semana | 0 - 6 (0 é Domingo, ou SUN-SAT) | * , - / |
Por exemplo, se quisermos rodar um script todo dia às 04h30 da manhã, a linha correspondente seria:
30 4 * * * /usr/bin/python3 /caminho/do/script.py
2. Compreendendo os Caracteres Especiais
Para criar agendamentos dinâmicos e eficientes, você precisa dominar o uso de quatro caracteres especiais nas expressões:
- Asterisco (*): Significa "qualquer" ou "todos os valores". Um asterisco no campo do Minuto significa que o comando será executado a cada minuto.
- Vírgula (,): Permite especificar uma lista de valores. Por exemplo,
0 8,12,18 * * *executará o comando exatamente às 08h00, 12h00 e 18h00 diariamente. - Hífen (-): Define um intervalo (range) de valores. Exemplo:
0 9-17 * * 1-5executa de hora em hora (às 00 minutos) de segunda a sexta-feira, apenas entre 9h e 17h. - Barra (/): Define passos ou incrementos. Se você colocar
*/15 * * * *no campo de minutos, o comando executará a cada 15 minutos (0, 15, 30, 45).
3. Exemplos Comuns e Úteis do Dia a Dia
Aqui estão alguns dos agendamentos mais utilizados em ambientes de produção:
A. Executar a cada 5 minutos
*/5 * * * * /meu/script.sh
B. Executar todas as segundas-feiras às 08h00 da manhã
0 8 * * 1 /meu/script.sh
C. Executar no primeiro dia de cada mês à meia-noite
0 0 1 * * /meu/script.sh
D. Executar duas vezes ao dia (meio-dia e meia-noite)
0 0,12 * * * /meu/script.sh
4. Como Gerenciar Tarefas com o Comando crontab
Para interagir com o cron daemon no seu servidor Linux, você utiliza o utilitário crontab diretamente no terminal:
crontab -e: Abre o arquivo de agendamentos no seu editor de texto padrão para edição ou adição de novas regras.crontab -l: Exibe a lista de tarefas agendadas para o seu usuário atual no console.crontab -r: Remove todas as tarefas agendadas para o seu usuário. Use com cautela!
Conclusão
Automatizar rotinas usando o cron ajuda a economizar tempo e garantir a resiliência operacional da sua infraestrutura. Compreendendo a ordem dos 5 campos e os caracteres de controle, você consegue desenhar qualquer tipo de recorrência temporal sem depender de bibliotecas pesadas de terceiros.
Se você precisa criar, validar ou traduzir uma expressão cron complexa para linguagem natural em português do Brasil sem risco de errar no seu servidor de produção, utilize o Gerador de Crontab do DevThru para testar seus agendamentos visualmente.
🛠️ Experimente na prática
Use nossas ferramentas online gratuitas — sem cadastro, direto no navegador.
