我需要每1小时运行一次PHP文件。
我正在做的是:
sudo crontab -e
(在编辑器中)* 01 * * * / usr / bin / php /var/www/devicecheck.php
但不知何故,它不起作用。该命令适用于命令行。在此之前,我正在尝试php /var/www/devicecheck.php
有什么建议吗?
答案 0 :(得分:1)
脚本应具有执行权限。
给出它 chmod +x /var/www/devicecheck.php
同时检查/var/log/syslog
是否有错误。
答案 1 :(得分:1)
要每1小时执行一次devicecheck.php,请尝试以下操作:
方法A ::使用crontab中的php
执行脚本# crontab -e
00 * * * * /usr/bin/php/var/www/devicecheck.php
方法B:使用crontab中的URL
运行php脚本如果您的php脚本可以使用URL调用,您可以lynx,curl或wget设置您的crontab,如下所示。
以下脚本通过使用lynx文本浏览器调用URL来执行php脚本(每小时)。默认情况下,Lynx文本浏览器以交互模式打开URL。但是,如下所示,lynx命令中的-dump选项会将URL的输出转储到标准输出。
00 * * * * lynx -dump http://www.yourwebsite.com/yourscript.php
以下脚本通过使用CURL调用URL来执行php脚本(每5分钟一次)。默认情况下,Curl显示标准输出中的输出。使用“curl -o”选项,您还可以将脚本的输出转储到临时文件,如下所示。
*/5 * * * * /usr/bin/curl -o temp.txt http://www.yourwebsite.com/yourscript.php
以下脚本通过使用WGET调用URL来执行php脚本(每10分钟一次)。 -q选项表示完全模式。 “-O temp.txt”表示输出将发送到临时文件。
*/10 * * * * /usr/bin/wget -q -O temp.txt http://www.yourwebsite.com/yourscript.php
<强> UPDATE :: 强>
# chmod a+x /home/username/yourscript.php
# crontab -e
00 * * * * /home/username/yourscript.php
答案 2 :(得分:-1)
我让它与wget合作。您可能必须先安装wget。之后它将允许您从cronjob运行PHP脚本。 语法如下:
* 01 * * */usr/local/bin/wget "http://localhost/devicecheck.php"
其中/ usr / local / bin / wget指向安装wget的目录。 如果您不希望输出,只需添加&#39; -O / dev / null&#39;,如下所示:
* 01 * * */usr/local/bin/wget "http://localhost/devicecheck.php" -O /dev/null
您还可以在网址中传递参数:
* 01 * * */usr/local/bin/wget "http://localhost/devicecheck.php?task=somevalue" -O /dev/null