Automação Agendada no Linux: Como Configurar Tarefas Periódicas Usando o crontab

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 cron executa comandos em um ambiente com variáveis mínimas; utilize caminhos completos tanto para os binários quanto para os scripts (ex: /usr/bin/python3 em vez de python3).
  • Redirecionamento de Logs: Como o cron roda 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,15 para dias 1 e 15), o hífen (-) define intervalos (ex: 1-5 para segunda a sexta) e a barra (/) define passos (ex: */15 a cada 15 minutos).
  • Variáveis de Ambiente Mínimas: Se seu script depende de variáveis personalizadas (como PATH ou credenciais), declare-as explicitamente no início do script ou dentro da própria tabela do crontab.

Thales de Oliveira Gomes

Thales de Oliveira Gomes é gestor de Tecnologia da Informação, especialista em infraestrutura de redes, computação em nuvem e operações de TI hospitalar, com mais de 18 anos de experiência na área. Graduado em Gestão de TI e pós-graduado em Engenharia de Redes e Telecomunicações, Cloud Computing, Redes de Computadores e Gestão Hospitalar, construiu uma trajetória sólida liderando projetos de alta complexidade, como a implementação e migração para nuvem de sistemas ERP de grande porte. Sua atuação no setor o levou a ser indicado ao prêmio IT Leaders Brasil na categoria Rising Leaders. Além da carreira corporativa e da paixão por tecnologia, Thales é autor independente com mais de 70 obras publicadas sobre redes, segurança da informação, Linux e física, além de criador de conteúdo no blog Vetor Tech e na plataforma CiberDicas. No universo das artes e do entretenimento, atua como produtor de música eletrônica sob o projeto Yknex, cria ilustrações digitais e compartilha walkthroughs de games no YouTube.

Deixe um comentário

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *