Cronjob para executar a cada 30 minutos

5

Eu quero definir uma entrada do cronjob que execute um script a cada 30 minutos das 9:00 às 18:00, mas não quero que ele seja executado às 18:30. O script deve ser executado pela primeira vez às 9:00 e pela última vez às 18:00. Isso é possível?

    
por krmbzds 28.06.2012 / 18:30

2 respostas

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

No entanto, o acima será executado às 18:30. Então, a melhor opção é ter um trabalho separado para lidar com as 18:00. Então:

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

Além disso, geradores de empregos Cron são incríveis.

    
por 28.06.2012 / 18:41
2

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

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

Tags