¿Cómo puedo hacer que los trabajos cron se ejecuten en GMT, no en la hora local?
Este es mi archivo crontab:
#m h d m wday command
TZ=GMT
5 0,6,12,18 * * * ~/Documents/bash/transfer.sh
mis trabajos parecen estar ejecutándose a la hora local (GMT + 11) Estoy ejecutando os x snow leopard, pero moveré el código a linux cuando se complete el desarrollo.
El entorno de Linux puede ser un entorno compartido donde puedo tener menos control sobre la configuración.
Respuestas:
No todas las versiones de
cron
soporte ejecutan trabajos utilizando una zona horaria distinta de la del sistema.Si el suyo lo hace, es probable que la especificación sea
TZ=GMT
oTZ=UTC
(sin los corchetes angulares). En algunos casos, la variable seríaCRON_TZ
.Lo mejor que puede hacer es verificar la documentación específica del sistema en particular. Ver
man 5 crontab
.fuente
Si su hora local es
Europe/London
. Entonces:Otro ejemplo:
Si su horario regular es
+0500
turno deUTC
, y su horario estacional es+0600
turno deUTC
. Luego agregue+5
a todas las horas especificadas en el ejemplo anterior. Esto significa que se ejecuta en08:15am
y09:15am
de su hora local, respectivamente. Entonces sus líneas cron modificadas se verían así:[EDITAR] Asegúrese de
\
escapar de cualquier porcentaje de%
caracteres en su archivo crontab. Como crontab los interpreta como un separador de nueva línea. por ejemplo%
->\%
.fuente
Tal vez podría envolver el binario crond original.
fuente