使用 cron 作业“访问页面”

Posted

技术标签:

【中文标题】使用 cron 作业“访问页面”【英文标题】:"Visiting a page" using a cron job 【发布时间】:2012-07-06 03:40:57 【问题描述】:

所以我有这个 php 脚本,每次有人访问该页面时都会发送一封电子邮件(打开浏览器,输入 www.example.com/email.php 并点击回车)。我正在尝试找到一种方法,通过共享主机上的 cron 作业定期触发此操作。我可以配置 cron 来运行这个命令: curl --dump http://www.example.com/email.php 但它不发送电子邮件。

我已经确认 php 脚本有效(通过手动访问它)并且 cron 作业运行(我在主机的控制面板上将它设置为“每次 cron 运行时发送电子邮件”),我就是不能让他们一起工作。有什么想法吗?

【问题讨论】:

【参考方案1】:

尝试使用 php 运行“页面”(脚本),以便它直接解释文件。

crontab 条目:* * * * * php your/script/location/email.php >/dev/null 2>&1

【讨论】:

【参考方案2】:

只要您的网络脚本通过简单地打开页面(无需用户交互)即可工作,您就可以使用 wget 来模仿请求:

wget -O /tmp/temp_file.html http://www.example.com/email.php

【讨论】:

感谢本的反馈。现在我收到此错误消息: Connecting to www.example.com|xxx.xxx.xxx|:80... connected。已发送 HTTP 请求,等待响应... 403 Forbidden 2012-07-05 15:05:01 ERROR 403: Forbidden. 嗯,听起来像网络服务器配置错误。您可以在与 cron 相同的系统上的浏览器中打开该网页吗?如果链接/lynx 中没有可用的 gui?也可能需要检查网络服务器上的错误日志。 我在共享主机上,我不确定是否可以从该系统打开它。 啊,好吧,那可能就是它不起作用的原因。如果您的 cronjob 与您的网络服务器在同一台机器上执行,您可以直接从 cron 调用 php 脚本。例如:执行/dir/to/webpath/email.php。否则我没有想法,对不起。

以上是关于使用 cron 作业“访问页面”的主要内容,如果未能解决你的问题,请参考以下文章

记录在 cron 作业中运行的 curl 的返回

在 cpanel 中使用 cron 作业运行 php 脚本

PHP:运行计划作业(cron 作业)

如何在 WAMP 等本地服务器中测试 cron 作业?

如何为网络爬虫设置有效的 cron 作业

Google Cloud Functions Cron 作业不工作