Cron作业会关闭1个小时,这与系统时间完全不同


9

问题示例:

* 9 * * * echo 9
* 10 * * * echo 10

上面的代码每分钟都会向用户发送一封电子邮件,但是所有“ 9”响应将在10:00 AM-> 10:59 AM发生,而“ 10”响应将在11:00 AM-> 11:59 AM出现。

做某事

* * * * * /bin/date ; /bin/date -u

返回预期的(正确的)日期和时间。UTC和当地时间(美国/丹佛)都是如此。将此作业更改为在特定时间每分钟运行一次,将导致偏移(告诉作业以9运行,10运行,依此类推)。

我当前完成的调试:

好吧,那很奇怪。也许我的时区文件被弄乱了?让我们检查一下

diff -s /etc/localtime /usr/share/zoneinfo/`cat /etc/timezone`
Files /etc/localtime and /usr/share/zoneinfo/America/Denver are identical

我已经检查了硬件时钟,以查看它是否关闭或以某种方式与我的本地设置(以root用户身份运行)不同。

date ; hwclock
Wed Oct 26 10:50:13 MDT 2016
Wed 26 Oct 2016 10:50:14 AM MDT  -0.204171 seconds

似乎要休息一秒钟,但这不应该使我的cron作业按计划运行一整个小时,对吗?

我也确信以下几点:

  • 我的时区最近改变了吗?没有
  • 您是否尝试过手动修复时区?
  • 固定时区后,您是否重置了cron?
  • 我是否确定cron服务已重新启动?
  • 我是否重新启动了cron服务?
  • 您真的确定cron重新启动了吗?100%确定Cron已重新启动

其他可能相关的信息:

运行Debian。

cat /etc/debian_version
8.6

当前内核

uname -a
Linux BigBox 3.16.0-4-amd64 #1 SMP Debian 3.16.7-ckt25-2 (2016-04-08) x86_64 GNU/Linux

更新的调试:

运行'hwclock --systohc',行为没有明显变化。跑此命令检查

date;hwclock
Wed Oct 26 12:39:09 MDT 2016
Wed 26 Oct 2016 12:39:11 PM MDT  -0.875328 seconds

我无法运行“ cat / etc / sysconfig / clock”,因为此文件不存在。在/ etc /树下运行find命令以查找“ clock”,确认我那里没有该名称的文件。

检查我是否知道有什么设置了CRON_TZ变量。它既没有在用户级别设置,也没有在根级别设置。使cron回显它们,但不输出。


1
CRON_TZ的环境变量设置的任何地方?
2016年

尝试hwclock --systohc仅出于完整性考虑,并增加cat /etc/sysconfig/clock疑问?
史蒂夫

在我的信息中添加了两个建议,可惜的是它们都没有提供太多价值。在我可以看到的任何环境下均未设置CRON_TZ,重新同步hwclock产生的结果与以前相同(无论如何都进行了检查以查看它是否已更改,但未更改),并且我没有'/ etc / sysconfig / clock文件。
jmurrayufo

Answers:


1

还要查找的另一个地方:的启动脚本cron或旧式的系统crontab文件/etc/crontab。TZ环境变量可能设置为,例如/etc/init.d/cronie/lib/systemd/system/crond.service,我不确定Debian在初始化系统中使用了什么。

当我尝试crond每隔一小时运行一次时,我已经看到了类似的东西:

0 */2 * * * /opt/dbms/rainstor/archiving/ama_term

crond在奇数小时运行脚本。我怀疑,但从未向自己证明,这与夏令时的混乱有关。


/etc/init.d/cron正在抓取/etc/timezone文件。TZ = cat /etc/timezone。该文件似乎是正确的(运行校验和只是为了确保其与应有的相同。)/lib/systemd/system/crond.service似乎不想修改任何TZ变量。我将检查* / 2建议,以查看是否看到相同的内容。
jmurrayufo
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.