1. O que é o Cron?
Cron é um agendador de tarefas baseado em tempo usado em sistemas operacionais Linux e semelhantes ao Unix. É utilizado principalmente por administradores de sistemas e desenvolvedores para automatizar tarefas que precisam ser executadas regularmente. No Ubuntu, o Cron vem instalado por padrão e é amplamente usado para gerenciamento de servidores, backups, scripts agendados e muito mais.
Como o Cron funciona
O Cron opera definindo comandos em um arquivo de configuração chamado “crontab”. O crontab contém cinco campos que especificam quando uma tarefa deve ser executada, permitindo que os usuários agendem tarefas com precisão temporal.
- Minuto (0–59)
- Hora (0–23)
- Dia do mês (1–31)
- Mês (1–12)
- Dia da semana (0–7, onde 0 e 7 representam domingo)
Por exemplo, um job do cron que executa um backup às 5 h da manhã todos os dias ficaria assim:
0 5 * * * tar -zcf /var/backups/home.tgz /home/
Isso demonstra como o Cron permite a automação de tarefas recorrentes de forma eficiente.
Quem deve usar o Cron?
O Cron é essencial não apenas para administradores de sistemas, mas também para desenvolvedores e qualquer pessoa que precise automatizar tarefas rotineiras ou executar scripts regularmente em um servidor.

2. Configurando Jobs do Cron
Editando o Crontab
Para configurar um job do Cron, você deve editar o arquivo crontab específico do seu usuário. No Ubuntu, você pode abrir esse arquivo usando o comando crontab -e:
crontab -e
Sintaxe básica dos jobs do Cron
Um job do Cron consiste em campos de tempo seguidos pelo comando a ser executado. A sintaxe geral é:
Minute Hour Day Month DayOfWeek Command
O job do Cron a seguir cria um backup do diretório /home/ todos os dias às 5 h da manhã:
0 5 * * * tar -zcf /var/backups/home.tgz /home/
Salvando e verificando entradas do Crontab
Depois de adicionar jobs do Cron, salve e feche o editor para aplicar as alterações. Para verificar se seus jobs do Cron foram registrados corretamente, use o comando a seguir:
crontab -l
3. Agendamento avançado de jobs do Cron
Executando jobs em intervalos personalizados
Se precisar executar comandos a cada minuto ou a cada cinco minutos, pode agendá‑los assim:
- Executar a cada minuto:
* * * * * /path/to/script.sh
- Executar a cada 5 minutos:
*/5 * * * * /path/to/script.sh
Executando jobs em dias específicos ou intervalos de tempo
Para executar um script apenas em um dia específico, especifique o campo de dia da semana. Por exemplo, para executar um script toda segunda‑feira às 2:15 h da manhã:
15 2 * * 1 /path/to/script.sh
4. Tratamento de erros e solução de problemas
Problemas comuns de jobs do Cron e soluções
Job do Cron não executa
Se um job do Cron falhar ao ser executado, verifique o seguinte:
- Permissões: Certifique‑se de que o script ou comando tem permissões de execução.
- Use caminhos completos: O Cron usa um
$PATHlimitado, portanto os comandos devem incluir caminhos absolutos./usr/bin/python3 /path/to/script.py
Verificando logs
Os logs do Cron são armazenados em /var/log/syslog. Consultar esse arquivo revela por que um job falhou ou se ele foi executado com sucesso:
grep CRON /var/log/syslog
5. Considerações de segurança
Controlando o acesso de usuários
Para restringir quais usuários podem criar jobs do Cron, use /etc/cron.allow e /etc/cron.deny. Adicionar um nome de usuário ao /etc/cron.allow permite que apenas esse usuário configure jobs do Cron:
echo "user_name" >> /etc/cron.allow
Segurança de login e jobs do Cron
Quando o Cron executa tarefas que exigem autenticação, pode ser necessário automatizar chaves SSH ou gerenciar senhas de forma segura.
6. Usando Anacron para tarefas menos frequentes
O que é o Anacron?
Anacron é um agendador de tarefas projetado para sistemas que não ficam ligados continuamente. Ele executa tarefas perdidas quando o sistema é iniciado novamente, sendo ideal para desktops e laptops que não estão sempre online.
7. Exemplos práticos de jobs do Cron
Automatizando backups
Exemplo de job do Cron que cria backups diários com carimbos de data/hora:
0 2 * * * tar -zcf /var/backups/home_backup_$(date +\%Y-\%m-\%d).tgz /home/
8. Conclusão
Aproveitando o Cron e o Anacron, você pode automatizar rotineiramente tarefas de forma eficiente e melhorar a confiabilidade das operações do seu sistema. Ambas as ferramentas reduzem a sobrecarga administrativa e garantem que tarefas críticas de manutenção sejam executadas automaticamente. Experimente incorporá‑las ao seu sistema para vivenciar os benefícios operacionais em primeira mão.