Cronjob不能在实时服务器上工作,但可以使用crontab在本地主机上工作


cronjob not working on live server but works on localhost using crontab

我在我的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中工作。

你需要通过web服务器运行这个吗?对于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模式上传

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

在控制台

吗?通常,当我尝试在不使用cronjob的情况下运行该命令时,会出现错误。

比较该命令在您的本地机器上所做的事情和它在没有chronjob的服务器上所做的事情,看看您是否可以找到答案:)

将以下行添加到/etc/hosts

127.0.0.1 liveserver.com