每24小时运行一次php任务

时间:2009-02-03 16:58:30

标签: php service cron scheduled-tasks

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

我现在正在运行Windows,但是一旦我活着,它可能会切换到linux(如果这有所不同)。我现在在symfomy框架内工作。

我听说cronjobs可以做到这一点......但是看看网站它似乎远程工作,我宁愿把东西留在家里......我可以在我的电脑上“运行服务”吗?无论那意味着什么;)(听说过它)

感谢您的帮助, 安德鲁

4 个答案:

答案 0 :(得分:18)

这正是Cron(linux)或Scheduled Tasks(windows)的用途。

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

例如,我在家用服务器上运行了一个cron来每天备份其MySQL数据库。此过程只涉及一个系统。

答案 1 :(得分:7)

0 0 * * * php /path/to/your/cronjob.php添加到crontab应该可以实现此目的。

答案 2 :(得分:1)

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

答案 3 :(得分:0)

如果您认为cron或Windows调度程序不合适,我有时会发现编写一个快速的Java应用程序可以做同样的事情:

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

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

可能有点矫枉过正,但可能值得一看,如果你曾经有过几次这样的手术来处理。

理发师