83 votos

Cron en funcionamiento cada 2 horas

Tengo el trabajo cron como se muestra a continuación, y quería que se ejecutara cada 2 horas, pero sigue ejecutándose cada 2 minutos.

¿Puede alguien decirme en qué me estoy equivocando?

  `* */2 * * * /path-to-script`

0 votos

150voto

Dan Carley Puntos 17278

Un asterisco en el campo minuto (primero) le indica que se ejecute cada minuto, independientemente de los otros campos.

Es necesario especificar un minuto exacto para que se ejecute dentro de la hora. Ya sea en la hora (0), en la mitad (30), etc.

0 */2 * * * /path-to-script

0 votos

Que debería hacerlo.

15voto

scentos Puntos 81

La descripción correcta de lo que tenía

 * */2 * * * /path-to-script

es "ejecutar cada minuto donde la hora es un múltiplo de 2".

Es decir, de 00:00 a 00:59, de 02:00 a 02:59, de 04:00 a 04:59, ... y así sucesivamente. No es exactamente lo mismo que "ejecutar cada minuto". Sin embargo, la solución ya dada es válida.

15voto

De entrada, podrías intentar especificar todas las horas en las que debería funcionar:

0 0,2,4,6,8,10,12,14,16,18,20,22 * * * /path-to-script

3 votos

*/2 es mucho más limpio

11 votos

*/2 aunque es más limpio, no es portátil... no funciona en solaris y probablemente en la mayoría de las otras variantes de unix.

1 votos

Es bueno saberlo. Esta opción tiene la capacidad de ignorar algunas de las horas que no necesitamos para ejecutar el cron.

1voto

También puedes hacer esto:

0 0-23/2 * * * /path/to/the/script

o si quieres ser más específico en cada 2 horas, puedes usar

0 0,2,4,6,8,10,12,14,16,18,20,22 * * * /path/to/the/script

Los valores de las horas deben estar separados por comas.

0 votos

Esto también debería aceptarse: 0 0-23/2 * * *

EnMiMaquinaFunciona.com

EnMiMaquinaFunciona es una comunidad de administradores de sistemas en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros sysadmin, hacer tus propias preguntas o resolver las de los demás.

Powered by: