每 24 小时运行一个 php 任务

Posted

技术标签:

【中文标题】每 24 小时运行一个 php 任务【英文标题】:running a php task every 24 hours 【发布时间】:2010-10-05 05:03:49 【问题描述】:

我有一些函数使用 curl 从几个站点中提取信息并将它们插入到我的数据库中。我只是想知道每 24 小时执行一次这项任务的最佳方法是什么?

我现在正在关闭 Windows,但一旦我上线可能会切换到 linux(如果这会有所不同)。我现在在 symfomy 框架内工作。

我听说 cronjobs 可以做到这一点...但是看看该站点,它似乎可以远程工作,我宁愿把东西留在家里...我可以在我的计算机上“运行服务”吗?不管那是什么意思;)(听说过)

感谢您的帮助, 安德鲁

【问题讨论】:

【参考方案1】:

这正是 Cron (linux) 或计划任务 (windows) 的用途。

您可以在应用程序服务器上运行它们以将所有内容保存在一个位置。

例如,我在我的家庭服务器上运行了一个 cron 来每天备份它的 mysql 数据库。这个过程只涉及一个系统。

【讨论】:

【参考方案2】:

0 0 * * * php /path/to/your/cronjob.php 添加到您的crontab 应该可以完成此操作。

【讨论】:

【参考方案3】:

您可以在 cron 中设置计划任务(或在 windows 中设置计划任务)。最简单的方法是创建一个从命令行执行 php 脚本的 shell 脚本(Windows 中的批处理脚本)(因此您不必使用 www 服务器资源)。当然是在目标机器上执行脚本。

【讨论】:

【参考方案4】:

如果您认为 cron 或 windows 调度程序不合适,我有时会发现编写一个执行相同操作的快速 Java 应用程序很方便:

您可以拨打电话System.getRuntime().exec("cmd line stuff here");。然后,您可以在 TimerTask 中扭曲该操作。最后,通过添加 TimerTasks 并指定时间和频率等来启动 Timer 对象...

这显然比上面提到的例子更复杂,但我喜欢它,因为你可以投入一些智能错误处理,并在出现问题时向自己发送电子邮件警报等。

可能有点矫枉过正,但如果您要处理多个此类操作,可能值得一看。

斯威尼

【讨论】:

以上是关于每 24 小时运行一个 php 任务的主要内容,如果未能解决你的问题,请参考以下文章

我想通过使用cron表达式设置每24小时安排一个任务

创建一个每 24 小时运行一次的活动?

Wordpress Cron作业未运行

在 iPad 上每小时运行一项任务

[转帖]crontab每小时运行一次

schtasks /create(有一个每天运行并每小时重复的任务