Como utilizar o Crontab no Linux: Guia Completo para Iniciantes e Avançados

Se você trabalha com servidores ou automação no Linux, dominar o Crontab é praticamente obrigatório. Ele funciona como um “agendador de tarefas”, permitindo que scripts e comandos sejam executados automaticamente em horários definidos.

Neste artigo, você vai aprender desde o básico até exemplos práticos para usar o Crontab no dia a dia.


📌 O que é o Crontab?

O Crontab (cron table) é um arquivo que contém uma lista de tarefas programadas para execução automática pelo serviço cron do Linux.

Com ele, você pode automatizar tarefas como:

  • Backups automáticos
  • Limpeza de arquivos temporários
  • Execução de scripts PHP ou Python
  • Atualizações de sistema
  • Envio de relatórios

⚙️ Como acessar o Crontab

Para editar o Crontab do usuário atual, utilize:

crontab -e

Na primeira execução, você poderá escolher um editor, como:

  • nano (mais fácil)
  • vim (mais avançado)

🧠 Estrutura de um comando no Crontab

Cada linha do Crontab segue este formato:

* * * * * comando

📊 Significado dos campos:

CampoValor permitidoDescrição
Minuto0–59Quando executar
Hora0–23Hora do dia
Dia do mês1–31Dia do mês
Mês1–12Mês do ano
Dia da semana0–7Dia da semana (0 e 7 = domingo)

🧪 Exemplos práticos

✅ Executar um script todos os dias às 2h da manhã

0 2 * * * /home/user/script.sh

✅ Executar a cada 5 minutos

*/5 * * * * /home/user/script.sh

✅ Executar toda segunda-feira às 8h

0 8 * * 1 /home/user/script.sh

✅ Executar no primeiro dia de cada mês

0 0 1 * * /home/user/script.sh

📁 Executando scripts PHP com Crontab

Se você tem um sistema web (como WordPress ou PHP puro), pode executar scripts assim:

/usr/bin/php /var/www/html/script.php

📤 Redirecionando saída (logs)

Para evitar erros silenciosos, você pode salvar logs:

0 2 * * * /home/user/script.sh >> /home/user/log.txt 2>&1
  • >> adiciona ao arquivo
  • 2>&1 captura erros também

🔐 Boas práticas

  • Sempre use caminhos absolutos
  • Teste o script antes de automatizar
  • Evite executar tarefas pesadas com muita frequência
  • Use logs para monitoramento

🧹 Listar e remover tarefas

Listar tarefas existentes:

crontab -l

Remover todas as tarefas:

crontab -r

🚨 Problemas comuns

❌ Script não executa

Possíveis causas:

  • Permissão negada → use chmod +x
  • Caminho errado
  • Variáveis de ambiente não carregadas

❌ Comando funciona no terminal mas não no Crontab

O Crontab usa um ambiente limitado. Solução:

PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin

Adicione no topo do arquivo.


🔄 Crontab do sistema vs usuário

Além do Crontab do usuário, existe o arquivo global:

/etc/crontab

Ele permite definir também o usuário que executará o comando.


💡 Dica bônus: Ferramenta para gerar Crontab

Use sites como:

  • crontab.guru

Eles ajudam a montar expressões facilmente.


📚 Conclusão

O Crontab é uma ferramenta poderosa para automação no Linux. Com poucos comandos, você consegue economizar tempo e evitar tarefas repetitivas.

Se você trabalha com servidores, desenvolvimento ou infraestrutura, aprender Crontab é um grande diferencial.


🚀 Gostou do conteúdo?

Se este artigo te ajudou, compartilhe e acompanhe o blog para mais dicas sobre Linux, servidores e tecnologia!