Cron 作业同时运行

Cron 作业同时运行

在我的 cron 作业文件中,我定义了两个 cronjobs:

#Yo1 MAILTO="[email protected]"
*1****wget -O - -q "http://example.com/cron/test1.php">/dev/null 2>&1
#Yo1 MAILTO="[email protected]"
*15****wget -O - -q "http://example.com/cron/test2.php">/dev/null 2>&1
The PHP files are simple just sending mails with different subjects.

问题是两个 cronjobs 每分钟都在同一时间运行,但正如你所看到的,我希望它们在不同的时间运行。第一次 - 每分钟一次,第二次 - 每 15 分钟一次。

你能帮我解决这个问题吗?我不知道出了什么问题。

答案1

根据 的联机帮助页crontab(5),您可以指定列表 (0,15,30,45)或者脚步 (*/15)

因此,您可以使用以下 crontab 条目:

#Yo1 MAILTO="[email protected]"
* 1 * * * * wget -O - -q "http://example.com/cron/test1.php">/dev/null 2>&1

#Yo1 MAILTO="[email protected]"
*/15 * * * * wget -O - -q "http://example.com/cron/test2.php">/dev/null 2>&1

更喜欢0,15,30,45可移植性而不是*/15 * * * *.

答案2

Cron 只允许至少一分钟。您可以做的是编写一个带有无限循环的 shell 脚本来运行您的任务,然后休眠 1 秒钟。这样,您的任务将或多或少地每 1 秒运行一次,具体取决于任务本身需要多长时间。

相关内容