Cron-如何创建每 15 秒运行一次的 cronjob?

Cron-如何创建每 15 秒运行一次的 cronjob?

看来 Cron 不支持秒间隔。每 15 秒运行一次 cli 脚本 (php) 的最简单方法是什么?是否有专门以秒为单位工作的 cron 工具(然后我可以使用 Cron 每分钟调用它)?

答案1

您需要编写一个类似这样的 shell 脚本,让它按指定的时间间隔休眠,并安排它在 cron 中每分钟运行一次:

#!/bin/sh
# Script: delay_cmd
sleep $1
shift
$*

然后使用你的参数安排在 cron 中运行:delay_cmd 15 mycommand 参数

答案2

*/1 * * * * /path/to/script
*/1 * * * * sleep 15; /path/to/script
*/1 * * * * sleep 30; /path/to/script
*/1 * * * * sleep 45; /path/to/script

答案3

据我所知,Cron 要求秒数必须在那里。

“0/15 * * * * *”

秒 分钟 小时 日月 月 日周 (可选年份,我省略了)

编辑:看来虽然 CRON 表达式需要 6 或 7,但运行它的 cron exec 需要 5...我会调查这一点!

答案4

这确实是一个编程问题,因此是在正确的网站上提出的。

由于 cron 本身无法满足您的要求,因此您需要创建自己的例程。其他人建议使用 sleep,但这样做不会产生正确的结果,因为它没有考虑运行命令所需的时间。不过,这很简单,只需使用适合您的任何语言读取系统时钟,然后根据时间(而不是时间延迟)每 15 秒触发一次命令即可。

一旦你有了例程,就不要每分钟都通过 cron 启动它。只需将其作为后台任务持续运行即可。

相关内容