7

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

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

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

感谢您的帮助,安德鲁

4

4 回答 4

18

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

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

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

于 2009-02-03T16:59:42.237 回答
7

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

于 2009-02-03T17:17:14.730 回答
1

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

于 2009-02-03T17:03:36.613 回答
0

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

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

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

可能是矫枉过正,但如果你有几个这样的操作要处理,可能值得一看。

斯威尼

于 2009-02-03T17:20:30.683 回答