文档章节

crontab 定时执行php文件

kisshua
 kisshua
发布于 2014/06/04 16:31
字数 567
阅读 69
收藏 0
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
 

本文转载自:http://bbs.csdn.net/topics/370145562

共有 人打赏支持
kisshua
粉丝 31
博文 174
码字总数 35260
作品 0
武汉
后端工程师
私信 提问
Ubuntu下用crontab 部署定时任务

  用php做了一个网站,其中一个统计工能,需要每周定时用行。想看看有什么方法,之前看别人的东西,一般有2中方式,一个是php自带的定时任务,一个是用系统 带的,linux下的crontab和windo...

奔跑的阿飞
2017/11/07
0
0
PHP 每隔几秒执行一次

背景是这样的:我需要一段PHP代码去定期对数据库操作,并把结果保存起来。如果方法是用户请求的时候来触发执行这个代码,显然用户的响应时间变长,影响用户体验!如果利用操作系统的定时任务...

lixiaokai2008
2016/09/11
76
0
基于PHP的定时任务管理器--Zebra-Crontab

为什么使用PHP管理crontab 一般在定时任务较少的情况下,使用原生的crontab服务一般不会有什么问题,但当定时任务较多时就会产生如下问题: 文本形式的定时任务可读性很差,在没有任何注释的...

呼延平
2015/01/18
3.7K
1
php队列的实现思路和详细过程

一、队列使用场景:为什么需要队列 在web开发中,我们经常会遇到需要处理批量任务的时候,这些批量任务可能是用户提交的,也可能是当系统被某个事件触发时需要进行批量处理的,面对这样的 任...

snowing1990
2016/11/30
14
0
php+crontab的定时任务

使用crontab定时执行php代码,例 每隔十分钟执行一次: /10 wget -q --sqider http://** 一、在Crontab中使用PHP执行脚本 就像在Crontab中调用普通的shell脚本一样(具体Crontab用法),使用...

jerry__sun
2015/06/17
0
0

没有更多内容

加载失败,请刷新页面

加载更多

sql根据日期查询,本周,本月,本年,今日相关统计

sql根据日期查询,本周,本月,本年,今日相关统计 昨天 select * from tb where datediff(day, 时间字段 ,getdate()) = 1 今天 select * from tb where datediff(day, 时间字段 ,getdate()) = ...

BraveLN
7分钟前
0
0
Delphi 折叠代码编译变量$REGION

编译变量$REGION,用于在delphi2006以后版本的折叠代码显示,非常方便。 procedure TForm1.Button1Click(Sender: TObject); var uStr: UnicodeString; begin {$REGION '显示uStr变量内容'} ......

dillonxiao
9分钟前
0
0
【更新】SyntaxEditor发布v2018.1,可共享相同代码库

SyntaxEditor最新版本下载 SyntaxEditor是一款强大的代码语法检验控件,采用了当今最前沿的代码编辑的技术,可以为你代码编辑提供强大的管理功能。最新版支持Visual Studio 2013和Windows 8...

电池盒
9分钟前
0
0
如何在基于Bytom开发过程中集成IPFS

本文介绍了基于Bytom开发过程中集成IPFS。 step1: 搭建bytom节点 比原相关资料:https://github.com/Bytom-Community/Bytom_Docs 搭建bytom节点有很多方式,然后开启RPC调用模式。这里推荐用...

比原链Bytom
13分钟前
0
0
sqlyog注册码

sqlyog注册码 1.方式一 用户名: 随意填写 秘钥: ccbfc13e-c31d-42ce-8939-3c7e63ed5417 a56ea5da-f30b-4fb1-8a05-95f346a9b20b a0fe8645-3916-45d4-9976-cb6b88fecc6c b70d7f66-dac2-4462-......

dragon_tech
16分钟前
0
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部