Como configurar uma cronjob/crontab

setembro 16th, 2008 by franklin Leave a reply »

Então, tá afim de enviar uma newsletter durante a madrugada, já que teu servidor libera tranquilo o envio de emails durante esse horário, mas não tá afim de ficar acordado até essa hora? Configura uma cronjob pro teu script rodar em determinado horário, depois que ativada a cron no teu servidor pro teu usuário, por shell acessa tua conta e digita

crontab -e

Nisso vai abrir um editor pra ti configurar a cron, agora vamos ao que interessa, a sintaxe é

mm hh dd MM ds patch script

onde:

mm = minuto (0 – 59)
hh = hora (0 – 23)
dd = dia (1 – 31)
MM = mês (1 – 12)
ds = dia da semana (0 – 6), onde zero é domingo e 6 é sábado
patch = caminho do executável
script = caminho do script

vejamos o exemplo a seguir, quero executar um script que limpa os registros do banco de dados durante todo o minuto, durante todos os dias do ano, então fica assim:
* * * * * /usr/local/bin/php /home/franklinjr/limpa_base.php

Agora um outro caso, tenho vários clientes e quero enviar a cobrança a eles todo o dia 20 de todo o mês as 5 horas da manhã, então fica:
0 5 20 * * /usr/local/bin/php /home/franklinjr/cobranca.php

E se eu quisesse executar um script a cada 5 minutos durante todas as horas e todos os dias do ano?
*/5 * * * * /usr/local/bin/php /home/franklinjr/script.php

Fechando a sessão exemplos, tenho clientes que a cobrança é efetuada todos os dias multiplos de cinco, como fica?
45 3 5,10,15,20,25,30 * * /usr/local/bin/php /home/franklinjr/cobranca.php

para colocar mais de um valor específico tu utiliza vírgula pra separa eles, no caso a cima vai ser enviada a cobrança todos os dias 5, 10, 15, 20, 25 e 30 de todos os meses às 3 horas e 45 minutos.

Pois bem, depois que tu configurou tua crontab, tu vai salvar ela no editor, pra ti verificar se realmente ela está ativada, tu vai dar o seguinte comando:
crontab -l

é um L no final, então irá aparecer o que está programado para ser executado, lembrando que cada tarefa deve ser feita em uma nova linha qunado você for editar a crontab. Espero ter ajudado a configurar esse agendador de tarefas 😀

Advertisement

4 comments

  1. Felipe disse:

    ficou ótimo hein, mas tá errado uma pequena coisinha…


    Agora um outro caso, tenho vários clientes e quero enviar a cobrança a eles todo o dia 20 de todo o mês as 5 horas da manhã, então fica:
    * 5 20 * * /usr/local/bin/php /home/franklinjr/cobranca.php

    seria…
    0 5 20 * * /usr/local/bin/php /home/franklinjr/cobranca.php

    * 5 20 * * .. ele executaria todos os minutos da 5 horas no dia 20… e tu iria cobrar 60x aeuhaeuaeuhaeuhae

    tu quer ficar rico rapidinho hein….

  2. franklin disse:

    Baahh, pior, valeu ae Totoro 😀

  3. Gustavo disse:

    Perfeito. Tutorial simples e prático, primeiro resultado no Google e já tirei a minha dúvida.

    Obrigado.

  4. Patrick Silva disse:

    Vlw. Me ajudou bastante!

Deixe um comentário