我希望每分钟运行一次脚本文件..我已经编写了这个命令。
* * * * * php -q /home/<username>/public_html/cron.php
但是,这个cronjob不起作用。无论何时,我尝试在浏览器中打开此文件cron.php
,它都可以正常工作。
我正在使用Linux操作系统。有没有办法调试它才能知道错误?
答案 0 :(得分:1)
如果您像我一样使用Ubuntu,请使用完整路径。
* * * * * /usr/bin/php -q /home/<username>/public_html/cron.php
答案 1 :(得分:0)
你在cronjob之后添加了一个空行(新行)吗?
调试:
将2&gt;&amp; 1附加到Crontab命令的末尾。这会将stderr输出重定向到stdout。然后确保您正在记录crontab的Unix命令。
* * * * * php -q /home/<username>/public_html/cron.php; ls -la >>/var/log/cronrun 2>&1
这将从Unix命令中捕获任何内容。
另外几个提示:通过发出不带参数的命令集来写出环境变量。并使用set -x命令获取shell以回显每个命令。在脚本问题的顶部;
set
set -x
对于cPanel,您可能需要测试curl(如果它已安装在您的服务器上):
curl --silent --compressed http://www.your-domain.com/cron.php
所以它应该类似于:http://grabilla.com/0450d-93d93a32-02ab-457c-ac1c-d2883552a940.html#
您可能还想尝试从命令中删除-q,看看它是否有帮助。
* * * * * php /home/<username>/public_html/cron.php
答案 2 :(得分:-1)
* / 1 * * * * / usr / bin / php -q /home//public_html/cron.php
将以上行添加到crontab文件并运行它。它会每分钟添加一个cronjob