Test Foro de elhacker.net SMF 2.1

Sistemas Operativos => GNU/Linux => Mensaje iniciado por: ccrunch en 7 Diciembre 2014, 22:08 PM

Título: Cómo sabe cron cuando ejecutar un comando, si en día/mes pongo */5?
Publicado por: ccrunch en 7 Diciembre 2014, 22:08 PM
Hola a todos, tengo una pregunta un poco curiosa que no he conseguido saber la respuesta.
Imaginemos que en mi línea de cron tengo puesto:
01 00 */5 * *
Que un comando se ejecute a la 1, cada 5 días.

Cómo tiene cron la cuenta de cuándo ha sido la última vez que se ha ejecutado ese comando, o cómo cuenta si ya han pasado 5 días?
Título: Re: Cómo sabe cron cuando ejecutar un comando, si en día/mes pongo */5?
Publicado por: MinusFour en 7 Diciembre 2014, 22:12 PM
Cita de: ccrunch en  7 Diciembre 2014, 22:08 PM
Hola a todos, tengo una pregunta un poco curiosa que no he conseguido saber la respuesta.
Imaginemos que en mi línea de cron tengo puesto:
01 00 */5 * *
Que un comando se ejecute a la 1, cada 5 días.

Cómo tiene cron la cuenta de cuándo ha sido la última vez que se ha ejecutado ese comando, o cómo cuenta si ya han pasado 5 días?

Quizas me equivoque con esto pero creo que no se ejecuta cada 5 dias, sino cada 5/10/15/20/25/30 del mes.

Edit: De hecho, no estoy seguro si se ejecuta cada 1/6/11/16/21/26/31 o lo anterior.

Edit2: Sip, es cada 1/6/11/16/21/26/31
Título: Re: Cómo sabe cron cuando ejecutar un comando, si en día/mes pongo */5?
Publicado por: engel lex en 7 Diciembre 2014, 22:14 PM
puede ser un
Código (cpp) [Seleccionar]
(dia_unix+offset)%repeticion

es decir si el dia 3137 en formato unix hicste la peticion, entonces 3137%5 = 2 y cada 5 dias, posiblemente se almacenaria 5 y 2 así que todos los dias a la 1 hace

Código (cpp) [Seleccionar]
(dia+2)%5==0?si:no :P