Escolar Documentos
Profissional Documentos
Cultura Documentos
Suponha que voc seja dono de um servio de hospedagem de sites e diariamente precisa
disponibilizar, numa pasta acessvel por FTP, o arquivo de log de acessos de um cliente.
trabalhoso fazer isso manualmente e na pior das hipteses, voc pode esquecer.
Felizmente o Linux conta com o servio cron, que permite a realizao de tarefas
periodicamente e em dias e datas determinados por voc. O objetivo deste artigo mostrar
como fazer isso.
O QUE CRON
O cron pode ser interpretado como um servio do Linux que carregado durante o
processo de boot do sistema. Trata-se de uma ferramenta que permite programar a
execuo de comandos e processos de maneira repetitiva ou apenas uma nica vez.
No caso citado da introduo, voc poderia usar o cron para que o arquivo de log do
cliente fosse disponibilizado todos os dias s 12 horas, por exemplo. Isso possvel
porque o daemon (uma espcie de programa que executa tarefas em segundo plano) do
cron executa os comandos nas datas e horrios especificados. A cada minuto o cron
acionado para verificar se h tarefas a serem realizadas.
Para executar as tarefas, o cron usa uma espcie de tabela conhecida como crontab. O
arquivo crontab geralmente fica localizado no diretrio /etc, mas tambm pode estar em
um diretrio que cria um crontab para cada usurio do sistema, geralmente em
/var/spool/cron/.
Repare que a ordem desses valores indica o nome correspondente do campo. Por
exemplo, no campo ms, 1 a 12 quer dizer de "Janeiro a Dezembro". No caso de dias da
semana, 0 a 6 quer dizer de "Domingo a Sbado". Note que o nmero 7 tambm pode ser
usado. Neste caso, assim como o nmero 0, o 7 equivale ao dia de "Domingo".
No lugar desses valores, voc pode informar * (asterisco) para especificar uma execuo
constante. Por exemplo, se o campo dias do ms conter *, o comando relacionado ser
executado todos os dias.
Voc tambm pode informar intervalos no preenchimento, separando os nmeros de incio
e fim atravs de - (hfen). Por exemplo, se no campo horas for informado 2-5, o comando
relacionado ser executado s 2, 3, 4 e 5 horas. E se o comando tiver que ser executado
s 2 horas, entre 15 e 18 horas e s 22 horas? Basta informar 2,15-18,22. Nestes casos,
voc separa os parmetros por vrgula.
Vamos a um exemplo:
# tarefa 1
30 22 2,10 * * echo "Porque ns amamos a liberdade"
minutos, nos dias 2 e 10, em todos os meses e em todos os dias da semana. Repare na
linha "#tarefa 1". Trata-se de um comentrio. Digite # e tudo o que for digitado na linha no
ser considerado pelo cron. um recurso til para inserir descries quando se tem vrias
tarefas a serem executadas.
FINALIZANDO