Programación de Cron: ¿El argumento de la hora está en formato de 24 horas?

10

Para ejecutar cron en la noche a las 4 am, ¿necesito escribir 4 * * * *?

Y para correr a las 4 p.m., ¿debería ser 16 * * * *?

aneuryzm
fuente
Dado que Google todavía está tratando este tema, a los nuevos visitantes les gustaría saber sobre www.cronsandbox.com, donde pueden experimentar con los diferentes valores de tiempo y ver un cronograma.
Art Stanmore el
Desafortunadamente, parece que www.cronsandbox.com ya no existe.
Jordania

Respuestas:

13

No. Esto se ejecutará en el 4to y 16to minuto de cada hora.

Estas buscando:

0 4,16 * * * command

Eso se ejecutará a las 4 a.m. y a las 4 p.m.

O si los dos comandos son diferentes:

0 4 * * * command
0 16 * * * another_command
  1. La primera columna establece los minutos. En estos ejemplos, lo configuro en 0 para que el evento ocurra cada hora.

  2. En la siguiente columna establecemos la hora en que desea que se ejecute. Usamos valores absolutos pero puede usarlos */2para "cada dos horas", etc.

  3. La siguiente columna dice que queremos que esto suceda todos los días del mes.

  4. La siguiente columna indica los meses en que esto debería activarse (todo en este caso).

  5. La última columna dice en qué días de la semana se puede activar esto. 0-7 (donde tanto 0 como 7 son domingos). *significa que puede activarse en cualquier día de la semana.

Oli
fuente
Gracias, respuesta completa. También encontré este artículo que realmente me ayudó: thegeekstuff.com/2009/06/15-practical-crontab-examples
aneuryzm
0

No, eso no es correcto. El significado de los campos.

* * * * *

para cada ranura de asterisco respectivamente:

  • minuto (0-59)
  • hora (0-23)
  • día del mes (1 - 31)
  • mes (1-12)
  • día de la semana (0 - 6) (domingo = 0 o 7)

Entonces, para todos los días de 4 a.m. a 4 p.m., debe usar:

0 4,16 * * *

Si deja un espacio, ya *que significará cada iteración de esa unidad de tiempo, es decir, cada hora, diariamente, etc.

Aquí, la parte 0 4,16significa que se ejecutará a los 0 minutos de 4 a.m. y 4 p.m. (es decir, 4:00 a.m. y 4:00 p.m.). Si desea ejecutarlo a, digamos 15 minutos de 4 15 4,16 * * *a.m. y 4 p.m., en su lugar, lo cambiaría a (es decir, 4:15 a.m. y 4:15 p.m.).

Arthur Knopper
fuente
8
Incorrecto. Esto funcionaría a cada minuto durante las 4 a.m. y las 4 p.m. por ejemplo: 04:00, 04:01, 04:02, etc.
Oli
Esta respuesta debe ser eliminada. Esta es ahora una pregunta famosa y no queremos que las personas envíen esta pregunta con respuestas incorrectas.
fosslinux
@Oli La respuesta acaba de ser corregida.
Melebius