Foro de elhacker.net

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:
Código:
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
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:
Código:
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
  1. (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
  1. (dia+2)%5==0?si:no
:P