cron时钟问题

cron时钟问题

我注意到在我的 RHEL 5.5 上,cron 每天启动时间晚了一个小时(凌晨 1 点,而不是午夜)。系统和硬件时钟相同。我如何设置它使其在午夜启动?

日期

[root@a ~]# date
Wed Mar  9 12:44:35 EST 2011

时钟

[root@a ~]# /sbin/hwclock -r
Wed 09 Mar 2011 12:44:42 PM EST  -0.000484 seconds

定时任务

0 0 * * *    /usr/sbin/ntpdate pool.ntp.org >/dev/null 2>&1

cron日志

Mar  7 01:00:01 host crond[30420]: (root) CMD (/usr/sbin/ntpdate pool.ntp.org >/dev/null 2>&1)

[root@a ~]# cat /etc/sysconfig/clock
ZONE="America/New York"
UTC=true
ARC=false

答案1

您是否更改了系统时区设置?如果是,您是否随后重新启动了 crond 服务?

无论如何,我都会重新启动 cron 守护进程,以确保它使用正确的时区。

# /sbin/service crond restart

答案2

重新启动 crond 并不总是“足够”的。

  1. 设置/etc/localtime为符号链接以链接到其中一个/usr/share/zoneinfo/...时区文件
  2. 设置/etc/sysconfig/clockZONE="CONTINENT/TOWN"(+ UTC=true 和 ARC=false)
  3. 重启整个机器

答案3

我认为,每天凌晨 1 点运行 cron 作业没有任何问题,只要它们每天运行即可。

检查你的/etc/crontab文件,我的(RHEL 5.4)默认在凌晨 2:00 运行:

# run-parts
01 * * * * root run-parts /etc/cron.hourly
02 4 * * * root run-parts /etc/cron.daily
22 4 * * 0 root run-parts /etc/cron.weekly
42 4 1 * * root run-parts /etc/cron.monthly

查找 cron.daily 行。进行编辑以适应,例如:

01 0 * * * root run-parts /etc/cron.daily

答案4

如果您谈论的是 /etc/cron.daily 中运行的内容,那么这些内容在 /etc/crontab 中定义。确保 /etc/cron.daily 的条目设置为在午夜运行,默认情况下它在 04:02 运行。

相关内容