cron a cada cinco minutos por três horas

0

Eu gostaria de configurar o cron run às 4.30 am a cada cinco minutos por 3 horas, então ele pararia de executar às 7.30, como fazer isso? isso funcionaria?

*/5,30  4-7  *  *  *
    
por Shekhar 29.04.2011 / 12:15

2 respostas

1

Você não pode especificar o tempo que você quer em uma única linha cron

# 4.30 - 4.59 evry 5 mins
30-59/5 4 * * * 
# 5.00 - 6.55 evry 5 mins
*/5 5-6 * * * 
# 7.00 - 7.30 evry 5 mins
0-30/5 7 * * * 

OU adicione algo assim ao seu cron

*/5 4-7 * * *  [ "$(date +%H%M)" -gt 0429 -a "$(date +%H%M)" -lt 0731 ] && YourScriptHere

# $( ) = means run command inside and get the results, same as backticks '
# be careful with date, because you can also set your computers time with it.
# man date will give you list of %LETTER options to specifu
# %H = hour, %M = minutes,
#  -gt = greater than, -lt lessthan -a = and, && = continue execution if previous command 
# did not return error. 
    
por 22.01.2012 / 12:21
0

Eu fiz um teste no meu servidor com a seguinte configuração:

*/5,30 12-13 * * * /root/crontest > /var/log/crontest.log

Onde o script crontest ficou assim:

echo "Running at:"'eval date +%Y-%m-%d-%H:%M'

Aqui está a saída:

Running at:2011-04-29-12:20
Running at:2011-04-29-12:25
Running at:2011-04-29-12:30
Running at:2011-04-29-12:35
Running at:2011-04-29-12:40
Running at:2011-04-29-12:45
Running at:2011-04-29-12:50

Então, basicamente, a configuração que você executará será executada a cada 5 minutos entre as horas especificadas. Todos os 30 dizem que é executado a cada 30 minutos, o que já acontece devido ao intervalo de 5 a cada minuto. Por isso, não irá restringir o cron de correr apenas de 0 a 30 minutos e depois 5 minutos cada nesse intervalo.

Você pode resolvê-lo, restringindo-o assim:

*/5,0-30 12-13 * * * /root/crontest > /var/log/crontest.log

Editar: isso não funcionará, já que o, significa OR, então ainda será executado a cada 5 minutos

Se isso não funcionar, você provavelmente terá que resolvê-lo por:

  • Como lidar com o intervalo de 5 minutos no seu script
  • Altere o intervalo das 4:30 às 7:30 para as 4:00 - 7:00.
por 29.04.2011 / 12:52

Tags