crontab 定时执行php文件
博客专区 > kisshua 的博客 > 博客详情
crontab 定时执行php文件
kisshua 发表于4年前
crontab 定时执行php文件
  • 发表于 4年前
  • 阅读 59
  • 收藏 0
  • 点赞 0
  • 评论 0

移动开发云端新模式探索实践 >>>   

摘要: 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
 
  • 打赏
  • 点赞
  • 收藏
  • 分享
共有 人打赏支持
粉丝 30
博文 135
码字总数 33704
×
kisshua
如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!
* 金额(元)
¥1 ¥5 ¥10 ¥20 其他金额
打赏人
留言
* 支付类型
微信扫码支付
打赏金额:
已支付成功
打赏金额: