2

我需要在 windows(shared)/linux(shared)/ wamp服务器上设置 cron/automatic taks 。

问题是该项目在多个环境中运行。

那么设置 cron/scheduled taks 的最佳方法是什么?

实际上,我需要做的是检查电子邮件服务器是否有新电子邮件,如果发现某些内容,请将其保存到本地数据库。如果您除了 cron 工作之外还有其他选择,请告诉我。

谢谢。

编辑:

正如我在问题中提到的,我有多个电子邮件/过滤,所以我需要在后台运行一些东西来定期获取数据。CRON在 linux 和Scheduled TasksWindows 上。但真正的问题是我是在共享主机上做的(或者它取决于客户端)所以我不能使用 CRON/ Scheduled Tasks

例如:项目安装在 GOdaddy windows 共享主机上,它是一个 windows 服务器,因此(通常)不支持CRON并且他们不允许使用Scheduled Tasks

问题是:CRON/ 有什么替代方案Scheduled Tasks 吗?

4

2 回答 2

2

简答

我不知道可以满足您需求的 CRON/ScheduledTask 的替代品。
我建议您将时间表外包给另一台服务器,请参阅下面的可能性。

我想出了以下几种可能性:

与 CRON 作业共享主机(最简单)

寻找允许您添加 cron 作业(例如通过网络空间管理)的共享托管服务提供商。HostEurope(德语)就是这样的东道主。

您拥有一个专用(虚拟)服务器

假设您将此项目部署到多个共享服务器但自己拥有专用(虚拟)服务器:
使您的脚本公开可用,但使用强大的授权机制保护它。(难以猜测的请求令牌,将某些 IP 列入白名单作为被调用者,...)。在您自己的服务器上设置一个 cron 作业,该作业调用客户端虚拟主机上的脚本。

您没有服务器

作为最后一种可能性,但您没有专用服务器。
在某个云提供商(例如 OpenShift)上设置一个虚拟机并在那里添加 cronjob。不要将此实例用于其他工作,它应该可以完美满足您的需求(参考:https ://openshift.redhat.com/community/blogs/getting-started-with-cron-jobs-on-openshift )

要求不符合基础设施(可能!)

您的客户/项目有不适合共享托管环境的要求。强烈建议您获得满足您真正需求的托管计划。共享主机和第一台虚拟服务器或专用主机之间的价格差异并没有那么大,以至于调查是不可能的。

于 2013-02-25T12:55:28.767 回答
1

正如其他人所建议的那样,如果这是一个网页,您可以使用 wget 来运行它。如果它是 CLI 脚本,则必须使用 php /directory/filepath.php 运行它。如果实际问题是如何定期运行它,则必须在 *NIX 上使用 cron 并在 windows 服务器上使用计划任务。如果要自动安装 cron,则必须检查操作系统并根据操作系统是 windows 还是 *NIX 采取行动。谷歌搜索将为您提供有关如何在两种环境中执行此操作的结果。

在红色澄清后编辑 正如塞缪尔赫尔佐格所说的那样,在共享主机上,您(通常)有一个控制面板。最知名的 Linux 有:

面板:http ://www.siteground.com/tutorials/cpanel/cron_jobs.htm

Plesk: http: //www.hosting.com/support/plesk/crontab

Webmin:使用 Webmin 设置 cron 作业

对于 Windows,我只对 plesk 有一些熟悉,其过程与以前相同。

如果您没有控制面板但有 shell 访问权限(linux),您可以按照教程进行操作。

如果您没有控制面板但有远程桌面(Windows),您可以按照教程进行操作。

如果您没有上述任何一项,您应该遵循 Samuel Herzog 关于云提供商上的 vm 的建议,或者考虑升级到 VPS 或专用服务器。

于 2013-02-25T09:44:41.280 回答