一个crontab文件中的多个Cron作业

时间:2012-11-07 20:17:50

标签: php ubuntu cron crontab

我想实现两个具有不同执行时间的cronjobs。一个cron作业用于发送电子邮件和第二个cron作业,用于验证我的应用程序订阅。

我写了一个crontab文件并写入两个cronjob,如下所示:

2 * * * * path to mailCronjob mail.php
20 * * * * path to check my application's subscriptions sub.php

问题是首先cronjob工作正常。邮件将提供罚款,但第二个cronjob 不管用。我试图手动运行第二个工作,它也工作正常。

我正在使用命令将cronjob设置为:

crontab crontab_file

当我发出命令crontab -l时 它还在命令行中显示cronjob。

我想问一下,我在这里遗漏了什么,或者我该怎么办才能运行这些cronjobs。

5 个答案:

答案 0 :(得分:5)

事实:您可以根据需要从单个crontab文件中运行任意数量的cron作业。

事实:您还可以将不同的作业作为不同的用户运行,每个用户都有自己的crontab文件。

建议:

1)只需调试第二份工作的错误。

2)它可能是路径,它可能是权限;它很可能是环境(“cron”的环境可能与命令行中同一用户的环境不同)。

PS:

试试这个:

答案 1 :(得分:2)

检查拥有用户的电子邮件,看看是否已向其发送错误报告。

如果您需要成为某个用户,并让该用户的环境更改您的呼叫

su - -c "/path/to/sub.php" SubScriptUser

如果您的脚本仅适用于某个目录,请使用

cd /path/to/ && ./sub.php

答案 2 :(得分:1)

您需要在配置文件末尾添加一个空行

答案 3 :(得分:0)

我从未在一个cron-tab文件中执行过两次执行cronjobs,而是每15分钟执行一次cronjob并查询数据库或查看配置文件中要执行的任务,也许这个概念可以帮助您。 / p>

答案 4 :(得分:0)

我记得同样的问题。由于某些原因,我必须在完成第二个Cron工作后按 enter (输入)。即使是第一份cron作业,如果这是唯一的作业,也需要CR / LF(输入)。光标需要在第二行(如果有一个cron作业)...光标需要在第三行,如果有两个cron作业。我想,需要完全读取文件才能解释cron job命令。我只是分享一下,因为如果您不这样做,则只会执行第一个作业,并且完全跳过第二个作业,除非在第二个作业的末尾按下Enter键。最好的问候和欢呼...测试一下,让我们知道。