cron 未在 centos 5.2 上运行

cron 未在 centos 5.2 上运行

抱歉,如果这是重复的 - 在我合并我的 Stackoverflow 和 serverfault 帐户后,我的问题似乎被删除了......

使用 CentOS 5.2,这个 cron 根本没有运行(/var/log/cron 没有显示任何活动,并且 feat.log 是空的)。

5 0 * * * /opt/ree/bin/ruby /srv/corkd/current/script/runner --environment=staging 'Featurable.shift' > /home/kyle/feat.log 2>&1

更新:突然间它运行起来了 - */5 * * * * [命令] 以某种方式运行,但 5 0 * * * [命令] 不会运行(或任何单分钟、单小时设置)...并且 strace 也显示完美运行......

更新2:我以为服务器位于东海岸,并设置为东部时间,但实际上相隔 3 个时区。所以我的 crontab 在技术上是正确的,但需要将小时数推迟 3 小时……太棒了。date本来可以解决所有问题

答案1

只是为了确定一下,您是否尝试过在 shell 中运行该命令?

可能是 cron 的 shell 配置中存在某些内容阻止了 ruby​​ 运行。验证您的 /etc/crontab 是否与此类似(如果您尚未对其进行自定义,则这是 RHEL 默认设置):

    [andy@]# cat /etc/crontab
    外壳=/bin/bash
    PATH=/sbin:/bin:/usr/sbin:/usr/bin
    MAILTO=root
    主页=/

    # 运行部分
    01 * * * * root 运行部分 /etc/cron.hourly
    02 4 * * * root 运行部分 /etc/cron.daily
    22 4 * * 0 root 运行部分 /etc/cron.weekly
    42 4 1 * * root 运行部分 /etc/cron.monthly

您还可以将 crontab 更改为 /5 * * * * 以便在测试时每 5 分钟运行一次任务(如果可行的话)。

您现在还有其它正在运行的 cron 吗?

答案2

也许你应该检查一下这是否有效:

5 0 * * * 用户 /opt/ree/bin/ruby /srv/corkd/current/script/runner --environment=staging 'Featurable.shift' > /home/kyle/feat.log 2>&1

将 USER 更改为要用于此作业的用户并运行 cron。我遇到过这样的问题,这解决了我的问题。

答案3

事实证明,我以为位于东海岸并设置为东部时间的服务器实际上相隔 3 个时区。因此,我的 crontab 在技术上是正确的,但需要将小时数推迟 3 小时……太棒了。date一切都解决了。

相关内容