Automação Agendada no Linux: Como Configurar Tarefas Periódicas Usando o crontab
O utilitário cron é o padrão nos sistemas Linux para agendar a execução automática de rotinas, rotinas de backup e scripts em intervalos de tempo definidos. Ele resolve o problema de ter que disparar comandos manuais no terminal para tarefas recorrentes, garantindo que processos de infraestrutura rodem em segundo plano com precisão. A seguir, veja a estrutura básica da sintaxe do crontab e como registrar novas tarefas.
Bash
# Sintaxe padrão do crontab:
# MINUTO HORA DIA_DO_MES MES DIA_DA_SEMANA COMANDO
# 1. Executa um script de backup todos os dias às 02:30 da manhã
30 2 * * * /home/usuario/scripts/backup.sh >> /var/log/backup.log 2>&1
# 2. Executa a limpeza de logs a cada hora cheia (minuto 0)
0 * * * * /usr/local/bin/limpa_cache.sh > /dev/null 2>&1
# 3. Executa um script toda segunda-feira às 08:00
0 8 * * 1 /home/usuario/scripts/relatorio_semanal.sh
Exemplo de gerenciamento no terminal:
Bash
# Edita o arquivo de agendamentos do usuário atual
crontab -e
# Lista todas as tarefas agendadas para o usuário ativo
crontab -l
# Remove todas as tarefas agendadas do usuário
crontab -r
Pontos-chave
- Estrutura de 5 Campos de Tempo: As posições correspondem a Minuto (0-59), Hora (0-23), Dia do Mês (1-31), Mês (1-12) e Dia da Semana (0-6, onde 0 e 7 representam domingo).
- Caminhos Absolutos Obrigatórios: O
cronexecuta comandos em um ambiente com variáveis mínimas; utilize caminhos completos tanto para os binários quanto para os scripts (ex:/usr/bin/python3em vez depython3). - Redirecionamento de Logs: Como o
cronroda em segundo plano sem terminal visível, redirecione a saída e os erros (>> log.log 2>&1) para monitorar falhas de execução. - Símbolos Especiais: O asterisco (
*) indica “todos os intervalos”, a vírgula (,) separa múltiplos valores (ex:1,15para dias 1 e 15), o hífen (-) define intervalos (ex:1-5para segunda a sexta) e a barra (/) define passos (ex:*/15a cada 15 minutos). - Variáveis de Ambiente Mínimas: Se seu script depende de variáveis personalizadas (como
PATHou credenciais), declare-as explicitamente no início do script ou dentro da própria tabela docrontab.
