Embora a utilização de processos seja importante, é também um ótimo momento para introduzir uma ferramenta poderosa para a automação Linux: o daemon cron. Este serviço em segundo plano permite-lhe agendar tarefas para serem executadas automaticamente em horários ou intervalos específicos. Estas tarefas agendadas são comumente conhecidas como tarefas cron (cron jobs).
Isso é incrivelmente útil para automatizar ações rotineiras, como executar um script de backup todas as noites ou limpar arquivos temporários uma vez por semana.
O que são Tarefas Cron
Imagine que tem um script em /home/pete/scripts/change_wallpaper que executa todas as manhãs para definir um novo fundo de ecrã. Em vez de o executar manualmente todos os dias, pode criar uma tarefa cron para o executar por si. Ao definir um horário, pode dizer ao serviço cron exatamente quando executar o seu script, tornando-o uma verdadeira solução de "configurar e esquecer".
Compreender a Sintaxe Crontab
Para criar uma tarefa cron, precisa de especificar o horário e o comando a executar. O horário é definido por cinco campos, seguidos pelo comando.
30 08 * * * /home/pete/scripts/change_wallpaper
Os cinco campos de hora e data são, da esquerda para a direita:
- Minuto: 0-59
- Hora: 0-23 (em formato de 24 horas)
- Dia do mês: 1-31
- Mês: 1-12
- Dia da semana: 0-7 (onde 0 e 7 representam Domingo)
Um asterisco (*) num campo funciona como um curinga, significando "todos". No exemplo acima, o horário 30 08 * * * diz ao cron para executar o comando às 8:30 da manhã, todos os dias do mês, todos os meses e todos os dias da semana.
Gerir Tarefas Cron com Crontab
Você gere as suas tarefas cron pessoais usando o comando crontab, que permite editar o seu ficheiro crontab específico do utilizador. Este ficheiro contém todas as tarefas cron que agendou.
Para adicionar ou editar as suas tarefas cron, use a flag -e (editar). Isto abrirá o seu ficheiro crontab no seu editor de texto predefinido.
crontab -e
Depois de adicionar a definição da sua tarefa e guardar o ficheiro, o cron lerá automaticamente o novo horário. Também pode listar as suas tarefas cron ativas com crontab -l ou remover todas com crontab -r. Usar tarefas cron é uma competência fundamental para qualquer pessoa interessada em automação Linux.