Introdução
No Linux, automatizar tarefas recorrentes é essencial para a manutenção do sistema. Seja para executar backups diários, limpar arquivos temporários ou gerar relatórios semanais, essas tarefas são gerenciadas por um utilitário do sistema chamado Cron.
O Cron é um agendador de tarefas baseado estritamente em horários. Ele usa uma sintaxe de configuração específica para determinar exatamente quando os comandos devem ser executados. A tabela de configuração costuma ser chamada de "crontab".
O Cron faz parte da cultura Unix há décadas. Muito antes das plataformas modernas de fluxo de trabalho e dos agendadores em nuvem, os administradores usavam o cron para executar backups, tarefas de limpeza, relatórios e rotinas de manutenção em horários previsíveis.
À primeira vista, uma entrada de crontab como 0 2 * * * pode parecer confusa. Neste laboratório, você aprenderá a interpretar e escrever essa sintaxe. Você vai:
- Explorar o crontab do sistema: visualizar o arquivo global de configuração do cron.
- Decodificar a sintaxe: entender os 5 campos de data e horário.
- Definir um agendamento: construir uma expressão cron válida para uma tarefa diária.
Visualizar a tabela cron do sistema
Uma forma rápida de entender a sintaxe do cron é consultar o arquivo de configuração de todo o sistema, /etc/crontab. Esse arquivo geralmente contém um cabeçalho útil que explica a disposição dos campos.
Ele é útil tanto como arquivo de configuração real quanto como referência de aprendizado. Muitos sistemas Linux incluem comentários nesse arquivo porque a sintaxe do cron é compacta e poderosa, mas pode ser fácil de interpretar incorretamente até que você entenda a ordem dos campos.
Execute o comando a seguir para visualizá-lo:
cat /etc/crontab
Na saída, concentre-se na seção Example of job definition (as linhas podem variar um pouco conforme a distribuição):
## .---------------- minute (0 - 59)
## | .------------- hour (0 - 23)
## | | .---------- day of month (1 - 31)
## | | | .------- month (1 - 12) OR jan,feb,mar,apr ...
## | | | | .---- day of week (0 - 6) (Sunday=0 or 7) OR sun,mon,tue,wed,thu,fri,sat
## | | | | |
## * * * * * user-name command to be executed
O diagrama mostra que cada agendamento do cron é formado por 5 campos, seguidos do comando que deve ser executado:
- Minuto (0-59)
- Hora (0-23, formato de 24 horas)
- Dia do mês (1-31)
- Mês (1-12)
- Dia da semana (0-7; tanto 0 quanto 7 representam domingo)
O asterisco * é um curinga que significa "todos". Por exemplo, * no campo Mês significa "todos os meses".
As expressões cron são compactas porque cada campo restringe o agendamento. Juntos, os campos descrevem um momento recorrente. Ler os campos da esquerda para a direita como minuto, hora, dia, mês e dia da semana é um dos hábitos mais importantes para desenvolver desde o início.
Exemplo: 17 * * * * significa "No minuto 17 de todas as horas, todos os dias".
Preparar um arquivo de sintaxe
Agora que você entende a estrutura, pratique a escrita de uma entrada.
Você criará um arquivo de texto para definir sua expressão cron. Essa é uma boa prática antes de adicioná-la ao agendador real do sistema.
Essa etapa é importante porque uma entrada do cron é apenas texto simples, mas produz efeitos reais depois de instalada. Escrever a expressão separadamente ajuda você a pensar no agendamento antes de transformá-lo em automação.
Verifique se você está na pasta do projeto:
cd ~/project
Crie um arquivo vazio chamado cron_syntax.txt:
touch cron_syntax.txt
Verifique se ele existe:
ls -l cron_syntax.txt
Escrever a sintaxe de um agendamento diário
Sua tarefa é construir uma expressão cron para uma tarefa que deve ser executada "Todos os dias às 2:00 da manhã".
Veja como dividir esse requisito nos 5 campos:
- Minuto: queremos exatamente 2:00. Esse é o minuto 0. Valor:
0. - Hora: queremos 2 da manhã, no formato de 24 horas. Valor:
2. - Dia do mês: queremos que a tarefa seja executada todos os dias do mês. Valor:
*. - Mês: queremos que ela seja executada todos os meses do ano. Valor:
*. - Dia da semana: queremos que ela seja executada independentemente do dia da semana. Valor:
*.
Combinando esses valores, a expressão é: 0 2 * * *.
Acrescente essa sintaxe ao arquivo:
echo "0 2 * * *" >> cron_syntax.txt
Verifique a entrada:
cat cron_syntax.txt
A sintaxe 0 2 * * * informa ao sistema: "Quando o minuto for 0 E a hora for 2, execute o comando."
Este é o modelo mental que você deve manter: o cron compara o horário atual com os cinco campos. Quando o horário atual corresponde ao padrão, o cron inicia a tarefa.
Resumo
Neste laboratório, você aprendeu os fundamentos do agendamento com cron:
- Configuração do sistema: você explorou
/etc/crontabpara ver o formato padrão. - Estrutura dos campos: você identificou os 5 campos: Minuto, Hora, Dia do mês, Mês e Dia da semana.
- Escrita de expressões: você criou com sucesso a sintaxe para uma tarefa diária (
0 2 * * *).
Entender essa sintaxe é essencial para automatizar qualquer tarefa rotineira em um ambiente Linux.



