11 votos

La zona horaria problema con cron

Mi cron jobs se calcula una hora más tarde en comparación con la hora del servidor. No entiendo lo que está pasando.

Mi configuración es la siguiente :

Hora del servidor :

Europe/Paris

En /etc/default/cron he añadido la siguiente línea :

TZ="Europe/Paris"

A pesar de que, cron job se inició una hora más tarde que la hora del servidor. Lo que es realmente difícil, es que si pido cron para jugar instrucción "fecha", se da el servidor de la fecha (de la buena !).

No tengo idea de cómo resolver este problema ; he estado leyendo algo en los foros, pero no encontró nada interesante.

¿Qué te parece ?

16voto

Keith Thompson Puntos 3397

(Copiar mi comentario como una respuesta, ya que resultó ser la solución; me acertó.)

Así cron puestos de trabajo están siendo programadas en UTC (Europe/Paris está en un desplazamiento de una hora desde la hora UTC).

El Vixie cron hombre de la página dice:

El demonio va a utilizar, si está presente, la definición de /etc/timezone para la zona horaria.

Lo que está en /etc/timezone? Has modificado /etc/timezone más recientemente que el proceso de cron se inició? Has probado

/etc/init.d/cron restart

?

3voto

Batur Puntos 11

Algunas distribuciones como Fedora proporcionar un mecanismo donde se puede establecer CRON_TZ= para anular su zona horaria por defecto.

Desde el Fedora man 5 crontab

El CRON_TZ variable especifica la zona horaria específica para el cron tabla. El usuario debe introducir un tiempo de acuerdo a la hora indicada la zona en la mesa. El tiempo utilizado para escribir en un archivo de registro tomado de la zona horaria local, donde el demonio se está ejecutando.

Algo como esto:

#m  h           d   m   wday    command
CRON_TZ="Europe/Paris"
5   0,6,12,18   *   *   *       /path/to/script.bash

1voto

RedGrittyBrick Puntos 51212

Wikipedia dice

La mayoría de cron implementaciones simplemente interpretar crontab entradas en el sistema de configuración de zona horaria en virtud de la cual el demonio cron en sí se ejecuta. Esto puede ser una fuente de controversia si un gran multiusuario máquina tiene usuarios en varias zonas de tiempo, especialmente si el sistema de zona horaria por defecto incluye la posibilidad de confundir el horario de verano. Por lo tanto, un cron aplicación especial el caso de que cualquier "TZ=" configuración de variable de entorno líneas en el crontab del usuario, la interpretación posterior crontab entradas en relación a la zona horaria

Así que tal vez su ID de inicio de sesión tiene una opción de TZ que difiere del sistema TZ?

1voto

arx-e Puntos 11

Reiniciar cron era lo que yo necesitaba, pero para mí el comando fue

/etc/init.d/crond restart (crond not cron)

EnMiMaquinaFunciona.com

EnMiMaquinaFunciona es una comunidad de administradores de sistemas en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros sysadmin, hacer tus propias preguntas o resolver las de los demás.

Powered by: