O cron é um serviço unix que permite que tarefas sejam executadas em modo “background” em intervalos regulares pelo deamon da cron. Estas tarefas são normalmente designadas por “cron jobs” em unix.
Aprenda como criar e gerir facilmente ações agendadas no Linux.
Os “cron jobs” estão constantemente a verificar o ficheiro /etc/crontab e os diretíorios /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. A sintaxe deverá ser igual à apresentada na imagem seguinte.
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/*
Alterando os valores dos parâmetros, como mostrado abaixo, irá provocar que este comando corra a diferentes horas (ou datas):
min| hora| dia do mes| mes| 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-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)