crontab 定时执行php文件

1.先是测试crontab对于普通任务能否执行:
  crontab -e 
*/1 * * * * date >> /usr/local/mydate.log
保存后重启crontab :
service crond restart
过一分钟后发现/usr/local下生成了mydate.log,说明对普通的定时任务可以执行。
2.现在php脚本不能定时执行,应该是脚本的路径问题或者php的路径问题,于是,手工执行了/usr/local/bin/php /usr/he/website/call.php
发现可以正常执行。于是想到把相关的log打出来

*/1 * * * * /usr/local/bin/php /usr/he/website/call.php >>mylog.log 2>&1
过一分钟后打开mylog.log文件,发现提示的错误是:file_get_contents(./view/....)这个错误,至此错误很明显了,是相对路径的问题,把他改为绝对路径后,可以执行了。
 

如何使用Linux的Crontab定时执行PHP脚本的方法


下面介绍Crontab的两种方法。

一、在Crontab中使用PHP执行脚本

就像在Crontab中调用普通的shell脚本一样(具体Crontab用法),使用PHP程序来调用PHP脚本。
每一小时执行myscript.php如下:
代码如下:

# crontab -e
00 * * * * /usr/local/bin/php /home/john/myscript.php

/usr/local/bin/php为PHP程序的路径。

二、在Crontab中使用URL执行脚本

如果你的PHP脚本可以通过URL触发,你可以使用lynx或curl或wget来配置你的Crontab。
下面的例子是使用Lynx文本浏览器访问URL来每小时执行PHP脚本。Lynx文本浏览器默认使用对话方式打开URL。但是 源码天空,像下面的,我们在lynx命令行中使用-dump选项来把URL的输出转换来标准输出。
代码如下:

00 * * * * lynx -dump http://www.codesky.net/myscript.php

下面的例子是使用CURL访问URL来每5分执行PHP脚本。Curl默认在标准输出显示输出。使用”curl -o”选项,你也可以把脚本的输出转储到临时文件。
代码如下:

*/5 * * * * /usr/bin/curl -o temp.txt http://www.codesky.net/myscript.php

下面的例子是使用WGET访问URL来每10分执行PHP脚本。-q选项表示安静模式。”-O temp.txt”表示输出会发送到临时文件。
代码如下:

*/10 * * * * /usr/bin/wget -q -O temp.txt http://www.codesky.net/myscript.php
 

转载于:https://my.oschina.net/kisshua/blog/272398

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值