Crontab
O arquivo
crontab
encontra-se no diretório /etc. Este arquivo é o
arquivo de configuração do Cron, que é um
daemon (programa especial) que executa tarefas na data e hora
indicadas pelo /etc/crontab.
Veja um exemplo:
$ cat /etc/crontab
#/etc/crontab: system-wide crontab
#Unlike any other crontab you don't have to run the
`crontab'
#command to install the new version when you edit this file.
#This file also has a username field, that none of the other
crontabs do.
SHELL=/bin/sh
PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin
#m h dom mon dow user command
0 0 25 12 * root /home/asouza/natal
0 0,6,12,18 * * * root /etc/cron.daily/atualiza_usuarios
25 6 * * * root run-parts --report /etc/cron.daily
47 6 * * 7 root run-parts --report /etc/cron.weekly
52 6 1 * * root run-parts --report /etc/cron.monthly
#Removed invocation of anacron, as this is now handled by a
#/etc/cron.d file
Peguemos por exemplo a linha:
0 0 25 12 * root /home/asouza/natal
O primeiro número (0) indica o
minuto
da hora a ser executada a tarefa.
O segundo número (0) indica a
hora
a ser executada a tarefa.
O terceiro número (25) indica o
dia do mês
a ser executada a tarefa.
O quarto número (12) indica o
mês
a ser executada a tarefa.
A quinta opção (*) indica o
dia da semana
a ser executada a tarefa (* significa qualquer).
A sexta opção (root) indica o
usuário
que irá executar a tarefa.
Por fim, a sétima opção
(/home/asouza/natal) é a
tarefa
(programa ou script) a ser executada.
Neste exemplo, esta linha executará o arquivo
/home/asouza/natal
como
root
no dia
25
de dezembro (
12
) do ano corrente (natal), exatamente à
meia-noite
.
Se observarmos a linha:
0 0,6,12,18 * * * root /etc/cron.daily/atualiza_usuarios
Veremos que temos 4 números separados por
vírgulas na segunda opção. Isto quer dizer que
esta linha está programada para executar a tarefa
às 0, 6, 12 e 18 horas. A data está toda com *, o
que quer dizer que a tarefa será executada todos os dias
no horário definido.
Podemos colocar mais de uma opção (separadas por
vírgula) em qualquer ponto em que aparecem
números.
Nota
: Ao alterar o
/etc/crontab
deve-se reiniciar o daemon cron. Na Debian seria:
# /etc/init.d/cron restart
Se você usa outra distribuição, procure o
diretório init.d dentro do /etc que ele estará
lá, caso você tenha instalado o cron.