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 Linux Command Line & Bash Scripting Mastery 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 Linux Command Line & Bash Scripting Mastery, e seu progresso é sincronizado entre a web e o app CoddyKit. O curso de Linux Command Line & Bash Scripting Mastery 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(ouJan-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,15para os minutos 1 e 15).-(hífen): define um intervalo de valores (por exemplo,9-17para as horas de 9 a 17)./(barra): especifica valores de passo (por exemplo,*/10para 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.
- Crie o script (por exemplo,
~/greet.sh): - Torne-o executável:
chmod +x ~/greet.sh - 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.logGerenciando 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
crontabe como editá-lo comcrontab -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 -lecrontab -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 Linux Command Line & Bash Scripting Mastery, atualize para CoddyKit PRO. O curso de Linux Command Line & Bash Scripting Mastery 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 Linux Command Line & Bash Scripting Mastery 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 Linux Command Line & Bash Scripting Mastery?
Nenhuma experiência prévia é necessária. Linux Command Line & Bash Scripting Mastery 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 Linux Command Line & Bash Scripting Mastery?
Sim. Cada aula de Linux Command Line & Bash Scripting Mastery 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
- Agendamento de Tarefas com Cron
- Automação da Administração do Sistema
- Projeto de Scripting Avançado
- Rotação e Limpeza Automatizadas de Registos