Os Fundamentos da Edição de um Ficheiro Crontab

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:

Bash
*     *     *   *    *        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:

Bash
0 4 * * * /caminho/para/seuscript.sh

Para executar um script de limpeza todos os domingos à meia-noite, insira:

Bash
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:

Bash
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.

Artigos Relacionados