【问题标题】:Execute PHP scraper script in cronjob在 cronjob 中执行 PHP 爬虫脚本
【发布时间】:2018-01-22 17:43:37
【问题描述】:

我正在尝试执行此脚本,该脚本将从站点获取数据并将其导入我的数据库。

我已经创建了 cronjob 并等待了 20 分钟。没有错误或结果,它只是沉默,就像什么都没发生一样。

我也没有收到显示命令结果的电子邮件。如何执行此脚本并通过电子邮件接收结果?

这是我目前正在使用的 cronjob:

20  *   *   *   *   /usr/bin/GET http://example.com/wp-content/plugins/ScriptName/scrap_data2.php?request_type=import_animes&site=2

【问题讨论】:

  • 您在 cronjob 中的 url 是应该执行脚本的吗?还是你应该从那个 url 获取数据然后用它做点什么?
  • @JoeP。谢谢回复。是的,就是执行脚本的url。
  • 您不能直接从该服务器运行脚本吗?还是你应该从那个 url 获取数据然后用它做点什么?

标签: php cron


【解决方案1】:

虽然 Hostgator 确实使用 GET 作为其 cron 示例之一;通过 http 链接从 cron “运行”脚本的常用方法是使用“wget”或“curl”。

我相信“GET”是“libwww-perl”包的一部分,它可能取决于安装位置或是否安装。尝试改用 WGET。

20 * * * * wget -O /dev/null http://example.com/wp-content/plugins/ScriptName/scrap_data2

上面的

'-O /dev/null' 用于丢弃 cron wgets 输出,因为您的脚本会通过电子邮件发送成功,因此您不需要它。

【讨论】:

  • 我试过了,但不幸的是它不起作用。该脚本未执行或未发送命令结果的电子邮件。
  • 刚刚检查了我的一个工作40 1 * * * nice -n15 wget -O /dev/null --user-agent="Mozilla/5.0 (Windows NT 5.2; rv:2.0.1) Gecko/20100101 Firefox/4.0.1" "http://example.com/somedir/some-script.php"“脚本链接”在引号中,我添加了一个用户代理(某些服务器可能需要它们?)。 nice -n15 可能无关紧要,它只是使脚本以低资源优先级运行。如果这个例子没有帮助,除了尝试 CURL 没有其他建议。
  • 我做到了/usr/bin/wget -O -q 'https://your_site_url.com/wp-content/plugins/scriptname/scrap_data.php?request_type=import_animes&site=1' 并且成功了。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-04-17
  • 2014-08-04
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-01-22
相关资源
最近更新 更多