O que significam os 5 asteriscos no Crontab? (Noções básicas de agendamento do sistema)
Ao gerenciar servidores, sempre há tarefas que precisam ser executadas periodicamente.
Limpar arquivos de log, fazer backup de bancos de dados e enviar e-mails são exemplos clássicos. Em ambientes Linux, a ferramenta padrão para agendar essas tarefas é o Cron.
No entanto, para um iniciante, uma expressão Cron pode parecer um código enigmático.
* * * * *
Vamos decodificar o que esses 5 asteriscos significam e discutir algumas armadilhas comuns.
1. Estrutura da Sintaxe do Crontab
Uma expressão Cron padrão do Linux consiste em 5 campos.
* * * * *
Min Hora Dia Mês DiaSemana
(0-59) (0-23) (1-31) (1-12) (0-7)
- Minuto: 0 a 59
- Hora: 0 a 23
- Dia do Mês: 1 a 31
- Mês: 1 a 12
- Dia da Semana: 0 a 7 (Tanto 0 quanto 7 representam Domingo, 1=Segunda, ...)
2. A Magia dos Caracteres Especiais
Além de números simples, você pode usar caracteres especiais para agendamento flexível.
*(Asterisco): Todo valor (todo minuto, toda hora...),(Vírgula): Lista de valores (ex:1,3,5-> Executar em 1, 3 e 5)-(Hífen): Intervalo (ex:1-5-> Executar de 1 a 5)/(Barra): Valores de passo (ex:*/10-> Executar a cada 10 unidades)
Exemplos
30 04 * * *: Executar às 04:30 AM todos os dias.*/15 * * * *: Executar a cada 15 minutos (0, 15, 30, 45).0 9 * * 1-5: Executar às 09:00 AM em dias úteis (Seg-Sex).
3. Erro Comum: "Dia" vs. "Dia da Semana"
A parte mais confusa da configuração do Crontab é a interação entre os campos "Dia do Mês" e "Dia da Semana".
Se ambos os campos forem definidos com valores específicos (não *), o comando é executado quando QUALQUER condição for atendida (condição OU).
Por exemplo:
0 0 1,15 * 5
Isso é executado no "1º e 15º de cada mês" E "toda sexta-feira". (NÃO significa "executar apenas nas sextas-feiras que caem no dia 1 ou 15"!)
Conclusão
O Cron é uma ferramenta simples, mas poderosa.
No entanto, um trabalho Cron mal configurado pode esgotar os recursos do servidor ou fazer com que backups críticos sejam perdidos.
Para necessidades de agendamento complexas, verifique sempre suas expressões usando geradores de Crontab online ou considere adotar ferramentas de agendamento profissionais como Jenkins ou Airflow.
Explore ferramentas relacionadas
Experimente estas ferramentas gratuitas do Pockit