【问题标题】:cronjob not working on live server but works on localhost using crontabcronjob 不能在实时服务器上工作,但可以使用 crontab 在本地主机上工作
【发布时间】:2016-12-23 06:01:52
【问题描述】:

我已经在我的 localhost crontab 中编写了这个命令

*/1 * * * * /usr/bin/wget -O /dev/null -q http://localhost/whitelabel/cms/cronjobs/calculatestats.php

它在本地主机(ubuntu 12.04)上运行良好,但在我的实时服务器(Cent OS)上我添加了这个命令

*/1 * * * * /usr/bin/wget -O /dev/null -q http://liveserver.com/whitelabel/cms/cronjobs/calculatestats.php

但它不起作用。虽然如果我在浏览器中运行此服务器文件 URL,它可以工作,但我必须通过 cronjob 运行它。我还授予了访问此文件的权限,但它在 cronjob 中不起作用。

【问题讨论】:

  • 你能从liveserver的终端执行命令吗?
  • 是的,我已经按照你说的执行了。在现场它说:失败:连接超时。但在本地它说:已连接。 HTTP 请求已发送,正在等待响应... 200 OK 长度:471 [text/html] 保存到:/dev/null' 100%[=================== ==================================================== =====‌​===========================>] 471 --.-K/s in 0s 2013-04-19 18:56:45 (24.1 MB/s) - /dev/null' 已保存 [471/471]
  • 我预料到了这一点。 :).. 似乎服务器无法自行解析 DNS。检查我的答案

标签: php cron localhost crontab


【解决方案1】:

您是否有任何理由需要通过网络服务器运行它?对于 cron 作业,我会这样创建我的 PHP 文件:

#!/usr/local/bin/php -q
<?
// /usr/local/bin/php -q is path to your PHP CGI file - any host should have one of these
// code here
?>

然后运行它:

*/1 * * * * /path/to/file.php >/dev/null

首先对文件执行 chmod 755,并确保以 ascii 模式上传

【讨论】:

    【解决方案2】:

    您是否尝试过运行: /usr/bin/wget -O /dev/null -q http://liveserver.comwhitelabel/cms/cronjobs/calculatestats.php

    在控制台中?通常我发现当我尝试在不使用 cronjob 的情况下运行命令时会出现错误。

    比较该命令在您的本地计算机上执行的操作与它在没有 chronjob 的服务器上执行的操作,看看您是否能找到答案:)

    【讨论】:

    • 现场显示:失败:连接超时。但在本地它说:已连接。 HTTP 请求已发送,等待响应... 200 OK 长度:471 [text/html] 保存到:/dev/null' 100%[=====================================================================================================&gt;] 471 --.-K/s in 0s 2013-04-19 18:56:45 (24.1 MB/s) - /dev/null' 已保存 [471/471]
    【解决方案3】:

    将以下行添加到/etc/hosts

    127.0.0.1 liveserver.com
    

    【讨论】:

    • 感谢您的快速响应我已经添加了上面的行,但它仍然没有连接......失败:连接超时......重试继续......
    • 你能 ping liveserver.com(来自 liveserver.com)吗?
    • 我尝试过 ping,但我认为它不起作用。 ping liveserver.com 说:PING liveserver.com 56(84) 字节的数据,然后什么都没有出现,在 localhost 上也是如此
    • 你看,这是网络问题。在 SO 上很难解决这个问题。如果我能看到那台机器上的终端,我可以修复它
    • 好的...非常感谢亲爱的..让我再试一次...希望这次能解决
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2016-03-05
    • 1970-01-01
    • 2011-03-23
    • 1970-01-01
    • 2018-09-12
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多