【发布时间】:2014-09-15 12:59:17
【问题描述】:
我有一个文件加载到 crontab 中,其中包含以下作业:
# script1 executes at 12:30 daily
# script2 executes at 12:35 daily
30 12 * * * /usr/bin/wget -q -O temp.txt http://<host-url>/cronjob/script1.php
35 12 * * * /usr/bin/wget -q -O temp.txt http://<host-url>/cronjob/script2.php
我遵守了这个网站的规则:
我最初在 crontab 列表中显示这两个作业时遇到了问题。我通过将所有作业设置在一行上解决了这个问题,详见以下部分:
处理来自 Crontab 的错误消息
当我正确列出了两个作业后,我进行了测试以验证它们是否正确执行。在 12:31,我注意到两个脚本都执行了。
为什么会这样?如何安排它以便 script2 在它自己的预定时间执行?
我知道这不是一个大问题,但我很想知道。
感谢您的帮助。
【问题讨论】:
-
这很奇怪...您可以创建一个检查数据的包装器。如果是12.30,退出;如果是 12.35,请继续。
-
@fedorqui 对不起,我没有关注,因为这是我第一次尝试设置多个 cron 作业。能否提供链接或示例?
-
Mmmm 用于调试我的建议是让脚本调用
wget,而不是直接从crontab 调用wget。但这可能会在以后出现。现在让我们关注为什么它不起作用。如果你这样做crontab -l,你会得到什么? -
我得到了一份工作清单,如
# runs daily at 2:00 am and 2:35 am30 12 * * * /usr/bin/wget -q -O temp.txt http://<host-url>/cronjob/script1.php 35 12 * * * /usr/bin/wget -q -O temp.txt http://<host-url>/cronjob/script2.php所显示的那样 -
这很奇怪,想不出任何合乎逻辑的原因。投票转向Super User,因为在那里他们可能会提供比这里更好的帮助(Stack Overflow 特定于编程)。
标签: crontab