0Pricing
DevOps Bootcamp · Aula

Agendamento de Tarefas com Cron

Domine o utilitário 'cron' para agendar a execução automática de scripts e comandos em intervalos ou horários especificados.

Agendamento de Tarefas com Cron é uma aula grátis de DevOps Bootcamp no CoddyKit. Esta é a aula 1 de 4. Você pode ler a aula completa abaixo gratuitamente — depois pratica ao vivo no navegador com um editor de código integrado e um tutor de IA 24/7. Faz parte do caminho de aprendizado de DevOps Bootcamp, e seu progresso é sincronizado entre a web e o app CoddyKit. O curso de DevOps Bootcamp inclui 4 aulas no total.

Automatize tarefas com o Cron

Bem-vindo ao mundo da automação! Nesta lição, você aprenderá sobre o cron, um utilitário poderoso do Linux que permite agendar comandos ou scripts para serem executados automaticamente em horários específicos.

Imagine configurar backups diários ou verificações do sistema a cada hora sem mover um dedo — essa é a função do cron!

Seu arquivo Crontab pessoal

Cada usuário em um sistema Linux tem seu próprio arquivo crontab (tabela do cron). É nele que você armazena todas as suas tarefas agendadas.

Para editar seu crontab pessoal, você usará o comando crontab -e. Isso abre o arquivo no seu editor de texto padrão, pronto para que você adicione novas tarefas.

Entrada do Crontab: campos de horário

Uma entrada do crontab consiste em seis partes. As cinco primeiras definem quando seu comando será executado e são separadas por espaços:

  • Minuto: 0-59
  • Hora: 0-23 (0 é meia-noite)
  • Dia do mês: 1-31
  • Mês: 1-12 (ou Jan-Dec)
  • Dia da semana: 0-7 (0 ou 7 é domingo, 1 é segunda-feira)

Entrada do Crontab: o comando

A sexta e última parte de uma entrada do crontab é o comando ou script que você deseja executar.

É fundamental usar caminhos absolutos para comandos e scripts aqui (por exemplo, /usr/bin/python em vez de apenas python). As tarefas do cron são executadas em um ambiente mínimo, portanto seu PATH habitual pode não estar disponível.

Caracteres especiais do Crontab

Para tornar seus agendamentos flexíveis, o cron usa caracteres especiais:

  • * (asterisco): corresponde a todos os valores possíveis (por exemplo, a cada minuto ou a cada hora).
  • , (vírgula): separa uma lista de valores (por exemplo, 1,15 para os minutos 1 e 15).
  • - (hífen): define um intervalo de valores (por exemplo, 9-17 para as horas de 9 a 17).
  • / (barra): especifica valores de passo (por exemplo, */10 para a cada 10 minutos).

Atalhos de agendamento predefinidos

Para necessidades comuns de agendamento, o cron oferece atalhos convenientes que substituem os cinco primeiros campos de horário:

  • @reboot: executa uma vez após a reinicialização do sistema.
  • @yearly (ou @annually): executa uma vez por ano (0 0 1 1 *).
  • @monthly: executa uma vez por mês (0 0 1 * *).
  • @weekly: executa uma vez por semana (0 0 * * 0).
  • @daily (ou @midnight): executa uma vez por dia (0 0 * * *).
  • @hourly: executa uma vez por hora (0 * * * *).

Prática: agende um script simples

Vamos criar um script simples que registra uma saudação e depois agendá-lo para ser executado todos os dias às 10:00 AM.

  1. Crie o script (por exemplo, ~/greet.sh):
  2. Torne-o executável: chmod +x ~/greet.sh
  3. Adicione-o ao crontab (crontab -e):
    0 10 * * * /home/user/greet.sh
    Esta entrada significa: no minuto 0, às 10 horas (10 AM), todos os dias do mês, todos os meses e todos os dias da semana, execute /home/user/greet.sh.
#!/bin/bash
# This script logs a greeting to a temporary file.
echo "Hello from Cron! The time is $(date)" >> /tmp/cron_greeting.log

Gerenciando suas tarefas do Cron

Depois de adicionar tarefas do cron, você precisará gerenciá-las:

  • Para listar suas entradas atuais do crontab: crontab -l
  • Para remover todas as suas entradas do crontab (use com extrema cautela, pois não há como desfazer): crontab -r

Sempre revise seu crontab com crontab -l depois de fazer alterações, para garantir que suas entradas estejam corretas.

Variáveis de ambiente do Cron

Lembre-se de que as tarefas do cron são executadas em um ambiente mínimo. Isso significa que muitas vezes elas não têm as mesmas variáveis de ambiente (como PATH) que seu shell interativo.

Se seu script depender de comandos específicos, use os caminhos absolutos deles ou defina as variáveis de ambiente necessárias diretamente no arquivo do crontab, no início, como PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin.

Desafio de sintaxe do Crontab

Você precisa agendar um script chamado /home/user/daily_report.sh para ser executado às 9:15 AM em todos os dias úteis (de segunda a sexta-feira). Qual entrada do crontab está correta?

Recapitulação: você dominou o agendamento com o Cron

Ótimo trabalho! Agora você domina os fundamentos do cron para agendar tarefas.

  • Você aprendeu sobre o arquivo crontab e como editá-lo com crontab -e.
  • Você compreende os seis campos de uma entrada do cron, incluindo os campos de horário e o comando.
  • Você explorou caracteres especiais e atalhos predefinidos para criar agendamentos flexíveis.
  • Você sabe como gerenciar suas tarefas com crontab -l e crontab -r.
  • Você também aprendeu sobre a importância dos caminhos absolutos e das variáveis de ambiente no contexto do cron.

Agora, vá em frente e automatize!

Perguntas Frequentes

A aula “Agendamento de Tarefas com Cron” é grátis?

Sim — o texto completo de “Agendamento de Tarefas com Cron” é grátis para ler aqui na web. Para praticá-la interativamente (um editor de código integrado e um tutor de IA 24/7) e desbloquear o restante do curso de DevOps Bootcamp, atualize para CoddyKit PRO. O curso de DevOps Bootcamp inclui 4 aulas no total.

O que vou aprender em “Agendamento de Tarefas com Cron”?

Domine o utilitário 'cron' para agendar a execução automática de scripts e comandos em intervalos ou horários especificados. Você pratica DevOps Bootcamp com código prático que executa diretamente no navegador, e um tutor de IA 24/7 responde suas dúvidas enquanto trabalha na aula.

Preciso ter experiência prévia para começar DevOps Bootcamp?

Nenhuma experiência prévia é necessária. DevOps Bootcamp no CoddyKit é estruturado para alunos iniciantes até avançados, então você pode começar aqui ou desde o início e aprender no seu ritmo. Esta é a aula 1 de 4.

Quanto tempo leva a aula “Agendamento de Tarefas com Cron”?

A maioria das aulas CoddyKit leva cerca de 5–10 minutos. Cada uma é compacta e interativa, então você faz progresso constante e retoma exatamente de onde parou entre web e app.

Posso escrever e executar código nesta aula de DevOps Bootcamp?

Sim. Cada aula de DevOps Bootcamp inclui um editor de código integrado, então você escreve e executa código real direto no navegador e recebe feedback de IA instantaneamente — nenhuma configuração local necessária.

Todas as aulas deste curso

  1. Agendamento de Tarefas com Cron
  2. Automação da Administração do Sistema
  3. Projeto de Scripting Avançado
  4. Rotação e Limpeza Automatizadas de Registos
← Voltar para DevOps Bootcamp