cron agenda de trabalho

0

Eu criei uma tarefa cron usando * */2 * * * schedule. Alguém pode me dizer a que programação isso se refere?

Eu acho que deve ser executado a cada 2 horas, mas parece ser executado a cada minuto.

    
por Madhur Ahuja 14.01.2013 / 16:25

5 respostas

2

Você deve usar 0 */2 * * * para executar o trabalho a cada 2 horas

    
por 14.01.2013 / 16:26
2

É assim que um cron job é apresentado: minute (0-59), hour (0-23, 0 = midnight), day (1-31), month (1-12), weekday (0-6, 0 = Sunday), command Um asterisco (*) pode ser usado para que todas as ocorrências (todas as horas, todos os dias da semana, todos os meses, etc.) de um período de tempo sejam usadas. então use 0 */2 * * * , então isso acontecerá a cada 2 horas, todos os dias e todos os meses ...

    
por 14.01.2013 / 16:29
1

Os trabalhos Cron serão executados sempre que houver uma condição de correspondência na especificação de tempo. Um asterisco ( * ) significa "todos".

Então, o que você tem com sua especificação de tempo é:

* */2 * * *

Os campos são:

  • minuto
  • hora
  • dia do mês
  • mês
  • dia da semana

Então, o que você especificou em inglês é "executar uma vez por minuto durante as horas numeradas" . Soa meio bobo, mas cron obedecerá fielmente.

Para que seja executado apenas uma vez, a cada duas horas você precisa definir o campo de minuto para um número específico. Qualquer número 0 - 60 é bom, mas o que você não quer é * .

Como muitas pessoas já sugeriram, o seguinte provavelmente está mais próximo do que você deseja:

0 */2 * * *
    
por 14.01.2013 / 16:38
0

Eu acredito que você queira 0 */2 * * * . Veja a diferença? O que você provavelmente corre a cada minuto a cada hora.

    
por 14.01.2013 / 16:30
0

Colocar seu cronjob assim fará com que ele seja executado a cada minuto (primeiro * ) de cada hora dividida por 2 (o */2 ), o que significa que ele executa todas as horas iguais, a hora inteira. De 2:00 - 2:59 , 4:00 - 4:59 , 6:00 - 6:59 , 8:00 - 8:59 , 10:00 - 10:59 e 12:00 - 12:59 AM e PM.

Se você quiser executá-lo a cada 2 horas, coloque explicitamente o contador de minutos em 0 , então:

0 */2 * * * user /some/command/here .

    
por 14.01.2013 / 16:34

Tags