Cron 作业在上午 5 点到晚上 10 点之间每 90 秒运行一次 PHP 脚本?

发布于 2024-11-25 21:42:36 字数 128 浏览 0 评论 0原文

我正在寻找一种在两个设定时间(可能是上午 5 点和晚上 10 点)之间每 90 秒运行一次 PHP 脚本的方法。我正在考虑制作一个 bash 脚本来在不同时间将文件移入/移出目录,但这会很混乱并且会出现各种错误。有更好的方法来解决这个问题吗?

I am looking for a way to run a PHP script between two set times (probably 5AM and 10PM), every 90 seconds. I was thinking of just making a bash script to move the file in/out of a directory at different times, but that would be messy and make all sorts of errors. Is there a better way to go about this?

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

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

发布评论

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

评论(3

浮光之海 2024-12-02 21:42:36

要获得 90 秒的间隔,您可以创建两个间隔为 3 分钟的 crontab 条目,并将其中一个延迟 90 秒:

-*/3 5-22 * * * your_script.php
-*/3 5-22 * * * sleep 90;your_script.php

To get a 90 seconds interval you could e.g. create two crontab entries with an interval of 3 minutes and delay one of them by 90 seconds:

-*/3 5-22 * * * your_script.php
-*/3 5-22 * * * sleep 90;your_script.php
缺⑴份安定 2024-12-02 21:42:36

不确定 90 秒是否可能,但这里是 60

*/1 5,6,7,8,9,10 * * * root php your_script.php

这里是 120

*/2 5,6,7,8,9,10 * * * root php your_script.php

如果你真的真的需要每 90 秒,让 cron 每分钟运行一次,把你的整个 php 脚本放在一个“while ( $n < 2 )”循环中,并在循环结束时休眠 30 秒。

更好的是,为了使您的代码与其计划分开,请编写一个 bash 或 PHP 包装器来调用/包含您的脚本一次,然后在 30 秒内再次调用/包含您的脚本。 Cron 每分钟都会调用包装器。

Not sure if 90 seconds is possible, but here's 60

*/1 5,6,7,8,9,10 * * * root php your_script.php

And here's 120

*/2 5,6,7,8,9,10 * * * root php your_script.php

If you really really really need every 90 seconds, have cron run it every minute, put your entire php script in a "while ( $n < 2 )" loop, and sleep for 30 sec at the end of the loop.

Better yet, to keep your code and it's schedule apart, write a bash or PHP wrapper to call/include your script once, then again in 30 sec. Cron would call the wrapper every minute.

小ぇ时光︴ 2024-12-02 21:42:36

从这个 链接 并修改它的时间范围

一为:“0 0/3 5-22 * * ?”每三分钟触发一次
第二个为:“30 1/2 5-22 * * ?”这将解决 90 秒的问题

As from this link and modifying it for the time range

One as: "0 0/3 5-22 * * ?" to fire every third min
The second as: "30 1/2 5-22 * * ?" This will take care of the 90 second

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文