Suponha que você seja dono de um serviço de hospedagem de
sites e diariamente precisa disponibilizar, numa pasta
acessível por FTP, o arquivo de log de acessos de um cliente.
É trabalhoso fazer isso manualmente e na pior das hipóteses,
você pode esquecer. Felizmente o Linux conta com o
serviço cron, que permite a realização 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 serviço do Linux que é
carregado durante o processo de boot do sistema. Trata-se de
uma ferramenta que permite programar a execução de comandos e
processos de maneira repetitiva ou apenas uma única vez.
No caso citado da introdução, você poderia usar o cron para que
o arquivo de log do cliente fosse disponibilizado todos os dias
às 12 horas, por exemplo. Isso é possível porque o daemon (uma
espécie de programa que executa tarefas em segundo plano) do cron
executa os comandos nas datas e horários especificados. A cada
minuto o cron é acionado para verificar se há tarefas a serem
realizadas.
Para executar as tarefas, o cron usa uma espécie de tabela
conhecida como crontab. O arquivo crontab geralmente fica
localizado no diretório /etc, mas também pode estar em um
diretório que cria um crontab para cada usuário do sistema,
geralmente em /var/spool/cron/.
[1] Comentário enviado por
fernandoamador em 19/01/2005 - 04:21h:
Ótimo artigo
[2] Comentário enviado por
leogsouza em 02/11/2005 - 03:01h:
Mto bom agora posso programar o sarg pra gerar relatorios diarios do squid
[3] Comentário enviado por
brunomruiz em 04/08/2006 - 12:42h:
Simples e funcional , bom artigo.
[4] Comentário enviado por
ebisco em 13/11/2006 - 15:52h:
O cron permite fazer um agendamento diario de uma determinada página web?
[5] Comentário enviado por
GilsonDeElt em 21/01/2007 - 18:44h:
Ótimo artigo!
Simples, direto e eficiente.
Valeu!!!
[6] Comentário enviado por
lero em 31/01/2007 - 18:17h:
Pessoal podem me ajudar?
* 1 * * * /usr/sbin/sarg.daily
* 1 * * 7 /usr/sbin/sarg.weekly
* 1 1 * * /usr/sbin/sarg.monthly
sendo q daily eu acho q configureipra todos os dias a 1hr da manha
weekly eu acho q configurei pra todos os domingo 1hr da manhã
monthly eu acho q configurei pra todo dia 1º 1hr da manhã
Podem me ajudar?
[7] Comentário enviado por
balani em 15/06/2007 - 19:29h:
Muito bom seu artigo, parabens, simples e completo.
[9] Comentário enviado por
f_Candido em 27/08/2007 - 16:13h:
Muito Bom. Direto e bem didático.
Vlws
[10] Comentário enviado por
andrade.br em 24/01/2008 - 10:48h:
otimo artigo
[11] Comentário enviado por
andrade.br em 24/01/2008 - 10:49h:
Sem duvida vai me ajudar batante...coloca mais uns artigos mais complexos do cron vai ser de grande utilidade..,valeusususu cara
[12] Comentário enviado por
hendrigo em 25/11/2008 - 10:50h:
Acho que há um pequeno erro.
Dia da semana 0-6 (o “0″ é domingo), 1 é segunda, etc.
0 a 7 resulta em 8 dias na semana!
até mais.
[13] Comentário enviado por
gcassaniga em 13/03/2009 - 09:00h:
RES comentário [12]...
na verdade os dias da semana podem ser definidos com números de 0 a 7 mesmo, sendo que o 0 e o 7 podem ser usados como DOMINGO.
Abraços...
[14] Comentário enviado por
wryel em 08/07/2009 - 11:42h:
excelente!
fica a minha pequena, duvida, eu peguei um script com * no minuto, o que significa ? deu-se a entender que é a todo minuto o.O [embora eu acredito que não seja haha, mas não tenho tanta certeza assim :P]
[15] Comentário enviado por
konqueror em 27/01/2010 - 20:41h:
Bom artigo,obrigado e parabéns
[16] Comentário enviado por
nandow em 08/02/2011 - 09:42h:
Muito bom!
Obrigado!
[17] Comentário enviado por
rnduart em 28/04/2011 - 12:06h:
Fácil como todo iniciantes como eu gosta.
[18] Comentário enviado por
Antonio_Bispo.Jr em 10/06/2011 - 01:01h:
Gostei muito do atrigo, mas não conseguitirar minha duvida ainda, se eu tiver que agendar uma tarefa, tipo /bin/acertar_hora no periodo dos dias entre 16/10/2011 ao dia 19/02/2012 como eu faria?