Sebastian Dominguez escribió:
2008/1/25, Mario Oroz <
Sebastian Dominguez escribió:
Es el mismo suuario el que ejecuta el cron o es root u otro?
Verificá que no exista la variable TZ en ese ambiente.
El usuario que ejecuta el cron es root
No tengo la variable TZ definida.
Verifica tambien que efectivamente la zona horaria esté correcta
comparando la salida de date y date -u. Ademas seria recomendable que tu
reloj de hardware este seteado en hora 0 UTC. Podes verificarlo con
hwclock que deberia entregarte lo mismo qeu date -u (dos horas de
diferencia)
El timezone esta en:
serv:~# cat /etc/timezone
America/Argentina/Buenos_Aires
La zona horaria estaria correcta, ya que tengo -2hs de diferencia entre
"date -u" y "date".
Me la complicaste con el reloj hardware! ya que como decis arriba debe ser
igual "hwclock" y "date -u"; pero como ves ... no lo son!
Por lo que veo mi reloj hardware no esta en UTC!? Lo cambio desde la bios?
No, no cambies la hora desde la bios. usa el comando
correspondiente(si hace flata) que seria hwclock -w <Hora> y --utc o
--localtime segun corresponda. Para esto es mejor usar la herramienta
de tu distro, que contempla generar los cambios para la sicronizacion
de reloges al iicio del sistema (si te gustan las cosas a mano lo
seguimos en el proximo mail)
Mas aun me desconcierta la salida de "hwclock --utc" :P
Hwcloc SIEMPRE te devuelve la hora local. Lo que cambias con --utc o
--localtime es en que horario crees que esta seteado el reloj. A ver
si soy mas claro, cuando vos tecleas:
hwclock --show --utc
le estas diciendo mostrame la hora para mi zona horaria (--show)
considerando que mi reloj de hardware esta seteado en hora UTC
(--utc).
serv:~# date
Fri Jan 25 09:12:35 ARST 2008
La hora local del sistema, perfecto
serv:~# date -u
Fri Jan 25 11:12:38 UTC 2008
La hora UTC del sistema, dos horas de diferencia, perfecto
serv:~# hwclock
Fri 25 Jan 2008 09:13:03 AM ARST -0.164720 seconds
Este no lo tengamos en cuenta ya que utiliza localtime o utc
dependiendo cual fue el ultimo utilizado
serv:~# hwclock --show
Fri 25 Jan 2008 09:13:09 AM ARST -0.468179 seconds
Misma situacion que la anterior.
serv:~# hwclock --localtime
Fri 25 Jan 2008 09:13:26 AM ARST -0.774176 seconds
Aqui le estas diciendo devolveme la hora considerando qeu el reloj de
hard esta en hora local. La hora es correcta, por lo que el reloj de
hard esta seteado en hora local
serv:~# hwclock --utc
Fri 25 Jan 2008 07:13:34 AM ARST -0.684612 seconds
Las dos horas de retraso son porque le indicas que el reloj esta en
UTC y debe sumarle la zona horaria (-2hs) para obtener la hora local
(que te recuerdo es la que siempre muestra hwclock).
serv:~#
En definitiva, con todo esto que te escribí te mande pura fruta,
jejeje. No porque este mal, sino porque por ahi no vienen el problema.
La solucion la encontre en el man de cron:
Daylight Saving Time and other time changes
Local time changes of less than three hours, such as those
caused by the start or end of Daylight Saving Time, are
handled specially. This only applies to jobs that run at a
specific time and jobs that are run with a granularity
greater than one hour. Jobs that run more frequently are
scheduled normally.
Esto lo hace porque al adelantar la hora puede que una tarea no se
ejecute. Por ejemplo si tenias una tarea el 31/12 a las 00.30, nunca
se ejecutaria porque por el cambio automatico de las 00hs se paso a
1hs. Similar para cuando la hora vuelve, se te ejecutaria dos veces.
Eso si, no encontré (todavia como solucionarlo). Te va a tocar a vos ;)
Bueno, por lo que decis, la hora de la bios; del reloj x hard esta en localtime.
Por lo que me decis; convendria pasarla a UTC, en el ejemplo que te pase la
deberia poner a las 11:12:38, es decir 2 horas mas de mi tiempo local.
Asi cuando pido un hwclock; hwclock --show; hwclock --localtime me da el
localtime (UTC -2hs) u cuando le pida el hwclock --utc me va a dar correcto; las
11 y pico; no es así?
Pero bueno ... el problema del cron esta solucionado con lo que comente en el
1er mail, hoy se ejecutaron los script a la hora indicada.
Esto me sirve para (tratar) comprender un poco mas el tema de la hora.
A proposito mensionas una manera de hacer este ajuste con herramietas de la
distro; tengo Debian 3.1, que debo usar aparte de lo que use en el primer mail?
Gracias SebaD.
_______________________________________________
Lugro mailing list
[email protected]
http://www.lugro.org.ar/mailman/listinfo/lugro