Você deve usar 0 */2 * * * para executar o trabalho a cada 2 horas
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.
Você deve usar 0 */2 * * * para executar o trabalho a cada 2 horas
É 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 ...
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:
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 * * *
Eu acredito que você queira 0 */2 * * * . Veja a diferença? O que você provavelmente corre a cada minuto a cada hora.
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 .