Na administração de sistemas, uma ferramenta essencial para agendar tarefas é o crontab. O crontab permite-lhe executar scripts e comandos em horários e datas específicas, sendo particularmente útil em sistemas baseados em Unix. Para utilizar esta ferramenta de forma eficaz, é fundamental saber como editar um ficheiro crontab. Este guia aborda os princípios básicos.
Compreender o Crontab
O termo “crontab” é uma abreviação de “cron table”, ou tabela cron. Este ficheiro é utilizado pelo daemon cron, uma ferramenta em sistemas Linux responsável por executar tarefas em horários agendados. O agendamento é determinado pelo ficheiro crontab, que é um ficheiro de texto simples contendo uma lista de comandos e os horários em que devem ser executados. Cada linha no ficheiro crontab segue um formato específico para o agendamento das tarefas.
Aceder ao Ficheiro Crontab
Para abrir o ficheiro crontab específico do seu utilizador, utilize o comando crontab -e
. Este comando abrirá o ficheiro crontab da sua conta de utilizador no editor de texto predefinido. Caso prefira usar um editor diferente, pode configurar as variáveis de ambiente VISUAL
ou EDITOR
.
Sintaxe do Ficheiro Crontab
Compreender a sintaxe é essencial para a edição de um ficheiro crontab. Cada linha no ficheiro representa uma tarefa cron e segue o seguinte formato:
* * * * * comando a ser executado
- - - - -
| | | | |
| | | | +----- dia da semana (0 - 6) (Domingo=0)
| | | +------- mês (1 - 12)
| | +--------- dia do mês (1 - 31)
| +----------- hora (0 - 23)
+------------- minuto (0 - 59)
Um asterisco (*) em qualquer campo indica “todos os valores”, como “cada minuto” ou “cada dia”.
Edição do Ficheiro Crontab
No ficheiro crontab, pode adicionar tarefas usando a sintaxe descrita. Por exemplo, para executar um script de manutenção todos os dias às 4 da manhã, adicione a seguinte linha:
0 4 * * * /caminho/para/seuscript.sh
Para executar um script de limpeza todos os domingos à meia-noite, insira:
0 0 * * 0 /caminho/para/limpeza.sh
Após adicionar as tarefas desejadas, guarde e feche o ficheiro. O daemon cron começará a usar o novo cronograma.
Comandos Comuns do Crontab
Aqui estão alguns comandos frequentemente utilizados com crontab:
crontab -e
: Edita o seu ficheiro crontab.crontab -l
: Exibe o conteúdo do seu ficheiro crontab.crontab -r
: Remove o seu ficheiro crontab atual.crontab -i
: Solicita confirmação antes de remover um ficheiro crontab.
Strings Especiais do Crontab
O crontab também suporta strings especiais que podem substituir os cinco campos de tempo e data:
@reboot
: Executa uma vez, ao iniciar o sistema.@yearly
: Executa uma vez por ano, equivalente a “0 0 1 1 *
“.@annually
: Sinónimo de@yearly
.@monthly
: Executa uma vez por mês, equivalente a “0 0 1 * *
“.@weekly
: Executa uma vez por semana, equivalente a “0 0 * * 0
“.@daily
: Executa uma vez por dia, equivalente a “0 0 * * *
“.@hourly
: Executa uma vez por hora, equivalente a “0 * * * *
“.
Estas strings facilitam a leitura e a gestão do ficheiro crontab.
Exemplo
Por padrão, o cron envia um e-mail com o “resultado” de cada tarefa. Para o redirecionar para um ficheiro específico, utilize a redireção de shell:
30 2 * * * /caminho/para/seuscript.sh > /caminho/para/ficheirodeoutput 2>&1
Neste exemplo, o >
direciona o resultado do script para um ficheiro, e 2>&1
redireciona o registo de erro para o mesmo local que a saída padrão.
Considerações Finais
Editar um ficheiro crontab para agendar tarefas num sistema baseado em Unix é uma competência crucial para administradores de sistemas e desenvolvedores. Compreender a sintaxe básica facilita o agendamento eficiente de tarefas.
Certifique-se de testar sempre os seus trabalhos cron para garantir que funcionam conforme esperado. Com uma configuração e testes adequados, poderá automatizar muitas tarefas, permitindo-lhe dedicar-se a outras atividades de maior importância.