Tengo un cronjob que se ejecuta todos los días a las 9:00 a.m. de UTC-Time. Estoy en GMT + 1, por lo que se ejecuta a las 10:00 a.m., hora local. Cuando hay un cambio de zona horaria (al horario de verano, DST), el cronjob se ejecuta aún a las 9:00 a.m. de la hora UTC pero a las 11:00 a.m. hora local. Pero quiero que siempre se ejecute a las 10:00, sin importar el horario de verano o no. ¿Cómo puedo hacer eso?
10
Respuestas:
Verifique su configuración en / etc / timezone. En la pregunta que mencionó que está en "GMT + 1", si esa es la zona horaria establecida, su script siempre se ejecutará a las UTC más una hora. Si lo configura, por ejemplo, "Europa / París", el tiempo de ejecución cambiará con el horario de verano.
fuente
Esto probablemente dependerá de su sistema operativo y su implementación
cron
. Esto no es posible en la ejecución de cron más popular,vixie/isc cron
. De lacrontab(5) manpage
:fuente
Expandir en @Cyrus responder esto es lo que hice:
Hice un script que verificó un desplazamiento UTC:
Luego agrego dos entradas crontab cada una para el desplazamiento que quiero:
fuente
Desde la página del manual:
fuente
Mueva su cronjob a las 8:00 y duerma una hora si está en GMT + 1
fuente