Cron计划在几个小时内完成一项任务

时间:2018-04-13 14:36:21

标签: random cron range

我希望使用cron计划在一定的几小时之间运行ONCE,而不是在一个范围内每小时运行一次。

实施例: 我希望它可以在9到12小时之间运行,单次。 如果我可以在9到12小时之间运行任务并且随机分钟也会更好。我不希望可以预测,但我想要控制它将被触发的时间范围。

我试过了:

# m h  dom mon dow   command
00-59 09-12 * * 2 /home/osmc/play.sh

但它每分钟都在00到59之间运行,每小时在9到12之间(不需要)

知道我怎么能这样做吗?

1 个答案:

答案 0 :(得分:1)

如果您想坚持cron,可以执行以下操作:

0 9 * * 2 sleep $(( RANDOM \% 10800)); /home/osmc/play.sh

作业将从上午9点开始,并将脚本延迟最多10800秒,即3小时。

此处找到另一种解决方案:

Cron jobs and random times, within given hours