El fin de semana pasado tuvimos que cambiar la hora de 02:00 a 03:00.
Pregunta: ¿Qué pasaría si hubiera un cronjob a las 02:30?
crond es una solución muy antigua para la programación, probablemente debería manejarlo, pero no sé cómo.
Probablemente depende de la implementación de su cron, pero el popular cron de Vixie dice en el manual:
cron luego se despierta cada minuto, examina todos los crontabs almacenados, verifica cada comando para ver si debe ejecutarse en el minuto actual.
y
Existen consideraciones especiales cuando el reloj se cambia en menos de 3 horas, por ejemplo al comienzo y al final del horario de verano. Si el tiempo se adelanta, los trabajos que se habrían ejecutado en el tiempo que se omitieron se ejecutarán poco después del cambio. Por el contrario, si el tiempo ha retrocedido menos de 3 horas, los trabajos que caen en el tiempo repetido no se volverán a ejecutar.
Solo se ven afectados los trabajos que se ejecutan en un momento determinado (no especificado como @hora, ni con '*' en el especificador de hora o minuto). Los trabajos que se especifican con comodines se ejecutan en función de la nueva hora inmediatamente.
Como el cambio de horario de verano fue inferior a 3 horas, su programa se ejecutará poco después de las 3:00 a.m.
No estoy seguro de si este es el comportamiento específico de Vixie cron, creo recordar que así fue como mi PDP-11 también funcionó en los años 80, pero no estoy seguro.
La mejor solución es hacer que su computadora funcione con el reloj de hardware configurado en UTC, (hora universal coordinada), AKA GMT o hora zulú y solo cambiar la forma en que se muestra la hora configurando la zona horaria local para permitir el ahorro de luz diurna hora de hacerse cargo.
En SUSE Linux, y probablemente en la mayoría de los demás, si el Sistema de reloj de hardware -> Entorno -> Reloj -> HWCLOCK está configurado en UTC con la bandera -u y su zona horaria está configurada donde está, el sistema mostrará automáticamente las horas locales. con correcciones DST para ti.
Esto tiene una serie de ventajas:
Para más información escriba
man hwclock
en una terminal.fuente