@hourly vs 0 * * * * - Cron - Como executar trabalhos de hora em hora, mas em momentos diferentes

3

Eu tenho trabalhos que quero executar por hora, mas não necessariamente ao mesmo tempo, o que eu acho

0 * * * * job 

Significa correr no 0 minuto de cada hora no ponto.

Eu sei que também posso usar

@hourly job

Qual é a diferença, se houver? Como posso programar trabalhos para serem executados por hora, mas não todos ao mesmo tempo?

    
por FreeSoftwareServers 22.11.2016 / 17:17

3 respostas

4

Em crontab(5) :

@hourly: Run once an hour, ie. "0 * * * *".

Então é estritamente o mesmo.

Para executar um trabalho em um ponto variável na hora (ou em vários trabalhos, para distribuir a carga), você pode dormir por um período aleatório antes de iniciar o trabalho:

@hourly sleep $((RANDOM / 10)); dowhatever

Isso dura até 3276 segundos (quase uma hora) e executa o trabalho. Então toda vez que cron inicia o trabalho, ele espera um tempo diferente antes de começar.

    
por 22.11.2016 / 17:22
2

@hourly é um sinônimo exato de 0 * * * * em crontab , não há diferença. @hourly é uma representação de string especial para 0 * * * * .

De man 5 crontab :

string         meaning
------         -------
@hourly        Run once an hour, "0 * * * *".

Apenas para notar, existem 8 strings especiais no total suportadas pelo cron i, Vixie Cron.

    
por 22.11.2016 / 17:20
2

Só queria compartilhar a Metodologia Periodicamente de Jenkins Cron / Build. Seria bom ver algo assim em Cron regular, onde H (hash) era uma opção

Examples:

# every fifteen minutes (perhaps at :07, :22, :37, :52)
H/15 * * * *
# every ten minutes in the first half of every hour (three times, perhaps at :04, :14, :24)
H(0-29)/10 * * * *
# once every two hours at 45 minutes past the hour starting at 9:45 AM and finishing at 3:45 PM every weekday.
45 9-16/2 * * 1-5
# once in every two hours slot between 9 AM and 5 PM every weekday (perhaps at 10:38 AM, 12:38 PM, 2:38 PM, 4:38 PM)
H H(9-16)/2 * * 1-5
# once a day on the 1st and 15th of every month except December
H H 1,15 1-11 *
    
por 22.11.2016 / 20:05