随机 cron 作业

发布于 2024-11-09 15:31:55 字数 129 浏览 0 评论 0原文

我需要一个 script1 每天随机执行 script2 。 我希望每天在随机时间内执行 script2 大约 30 次。 script1 将在 cron 作业中设置。 有人可以帮助如何实现它吗? PS我不是程序员,所以需要一些准备好的东西,请

I need a script1 that will execute script2 at random times a day.
I'm looking to execute the script2 around 30 times a day within random times.
script1 will be set in the cron job.
Could someone please help how to make it happen?
PS I am not a programmer, so would need something ready to go, please

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

天赋异禀 2024-11-16 15:31:55

Seth 的解决方案当然有效,但每天的执行次数会有所不同。如果您确实想要 30 次执行,不多也不少,我建议使用类似 cron 条目

0 0 * * * gen-executions.sh

和脚本 gen-executions.sh

#!/bin/bash
for number in $(seq 30)
do
    hour=$(( ${RANDOM}*24/32768 ))
    minute=$(( ${RANDOM}*60/32768 ))
    at -f /path/to/script.sh $(printf "%02d" ${hour}):$(printf "%02d" ${minute})
done

这会生成 30 次 /path/to/ 执行script.sh 在一天中的随机时间使用 at。

Seth's solution certainly works, but the number of executions per day will differ. If you want definitely 30 executions, not more and not less, I propose using a cron entry like

0 0 * * * gen-executions.sh

and a script gen-executions.sh:

#!/bin/bash
for number in $(seq 30)
do
    hour=$(( ${RANDOM}*24/32768 ))
    minute=$(( ${RANDOM}*60/32768 ))
    at -f /path/to/script.sh $(printf "%02d" ${hour}):$(printf "%02d" ${minute})
done

This generates exactly 30 executions of /path/to/script.sh at random times of the day using at.

小兔几 2024-11-16 15:31:55
* * * * * script1.sh

#!/bin/bash
if [ $(($RANDOM*100/32768)) -gt 2 ]; then exit; fi
exec php script2.php
* * * * * script1.sh

#!/bin/bash
if [ $(($RANDOM*100/32768)) -gt 2 ]; then exit; fi
exec php script2.php
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文