pplware.sapo.ptpplware.sapo.pt - 29 abr. 14:00

Aprenda a agendar ações no Linux com o Cron

Aprenda a agendar ações no Linux com o Cron

O Cron é um mecanismo que permite agendar tarefas que tem como base o tempo em sistemas operativos baseados no Unix ou Linux.

Permite que os utilizadores programem tarefas (comandos ou scripts) para serem executadas periodicamente em horários, datas ou intervalos fixos. Essas tarefas agendadas são designados de "cron jobs" e podem automatizar tarefas repetitivas como manutenção do sistema, backups, atualizações e muito mais.

Os "cron jobs" estão constantemente a verificar o ficheiro /etc/crontab e os diretórios /etc/cron.* e /var/spool/cron/. O crontab é o método para criar, editar, instalar, desinstalar e listar os "cron jobs".

Sintaxe do Crontab no Linux

O ficheiro do crontab é composto por cinco campos para especificar o dia, a data e a hora seguido pelo comando a ser executado.

  • Minutos (0-59)
  • Hora (0-23)
  • Dia do mês (1-31)
  • Mês (1-12 ou jan-Dez)
  • Dia da semana (0-7 ou dom-sáb, onde 0 e 7 representam domingo)

A sintaxe deverá ser igual à apresentada na imagem seguinte.

Além disso, há uma sintaxe especial para definir intervalos e faixas:

  • Asterisco (*) significa todos os valores possíveis dentro de um campo.
  • Vírgulas (,) separam múltiplos valores dentro de um campo.
  • Hífens (-) especificam faixas de valores.
  • Barras (/) indicam valores de passo.

Exemplo de Crontab

Uma linha no crontab como a que está em baixo remove os ficheiros temporários de /home/someuser/tmp each day às 18:30 de cada dia.

30 18 * * * rm /home/someuser/tmp/*

30 18 * * * rm /home/someuser/tmp/*

Alterando os valores dos parâmetros, como mostrado abaixo, irá provocar que este comando corra a diferentes horas (ou datas):

min| hora| dia do mês| mês| dia da semana| data/hora de execução

30 0 1 1,6,12 * — 00:30 Hrs no 1º de jan, junho e Dez.

 

0 20 * 10 1-58.00 PM todos os dias da semana (seg-sex) apenas em outubro.

 

0 0 1,10,15 * * — meia noite no 1º, 10º e 15º dia do mes.

 

5,10 0 10 * 1 — às 12:05 e 12:10, todas as segundas e no 10º dia de cada mês.

30 0 1 1,6,12 * — 00:30 Hrs no 1º de jan, junho e Dez. 0 20 * 10 1-5 –8.00 PM todos os dias da semana (seg-sex) apenas em outubro. 0 0 1,10,15 * * — meia noite no 1º, 10º e 15º dia do mes. 5,10 0 10 * 1 — às 12:05 e 12:10, todas as segundas e no 10º dia de cada mês.

Nota : Se inadvertidamente aceder à crontab sem argumentos não faça Control-d para sair. Esse comando irá remover todas as entradas do crontab. Faça Control-c para sair.

Comandos do crontab

Antes de iniciar a criação de "cron jobs" deve escolher com que editor de texto vai trabalhar. Por exemplo, usando o comando “export EDITOR=nano” vai passar a usar o nano quando editar o ficheiro do crontab.

  • crontab -e
    • Edita o ficheiro do crontab, ou cria um caso ainda não exista.
  • crontab -l
    • Mostra o conteúdo do ficheiro do crontab.
  • crontab -r
    • Remove o ficheiro do crontab.
  • crontab -v
    • Mostra quando foi a última vez que o ficheiro do crontab foi editado. (Apenas disponível em alguns sistemas)
NewsItem [
pubDate=2024-04-29 15:00:43.0
, url=https://pplware.sapo.pt/linux/aprenda-a-agendar-acoes-no-linux-com-o-cron/
, host=pplware.sapo.pt
, wordCount=496
, contentCount=1
, socialActionCount=0
, slug=2024_04_29_2043260076_aprenda-a-agendar-acoes-no-linux-com-o-cron
, topics=[cron, tecnologia, linux]
, sections=[ciencia-tecnologia]
, score=0.000000]