Cronjob para ser executado a cada 30 minutos

Cronjob para ser executado a cada 30 minutos

Quero definir uma entrada cronjob que execute um script a cada 30 minutos, das 9h às 18h, mas não quero que seja executado às 18h30. O script deverá ser executado pela primeira vez às 9h e pela última vez às 18h. Isso é possível?

Responder1

0,30 9-18 * * * /path_to_script

No entanto, o acima será executado às 18h30. Então, a melhor aposta é ter um trabalho separado para cuidar das 18h. Então:

0,30 9-17 * * * /path_to_script
0 18 * * * /path_to_script

Também,Geradores de cron jobssão impressionantes.

Responder2

Ou faça um teste extra antes de disparar o script. No exemplo abaixo eu testo se a corrente é menor que 1815.

 0,30 9-18 * * * [ $(date +\%H\%M) -le 1815 ] && /path_to_script

informação relacionada