如何使用Linux的Crontab定时执行PHP脚本的方法-阿里云开发者社区

开发者社区> suboysugar> 正文

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

简介: 我们的PHP程序有时候需要定时执行,我们可以使用ignore_user_abort函数或是在页面放置js让用户帮我们实现。但这两种方法都不太可靠,不稳定。我们可以借助Linux的Crontab工具来稳定可靠地触发PHP执行任务 下面介绍Crontab的两种方法。
+关注继续查看

我们的PHP程序有时候需要定时执行,我们可以使用ignore_user_abort函数或是在页面放置js让用户帮我们实现。但这两种方法都不太可靠,不稳定。我们可以借助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.jb51.net/myscript.php 


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

复制代码代码如下:

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


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

复制代码代码如下:

*/10 * * * * /usr/bin/wget -q -O temp.txt http://www.jb51.net/myscript.php 
如何联系我:【万里虎】www.bravetiger.cn 【QQ】3396726884 (咨询问题100元起,帮助解决问题500元起) 【博客】http://www.cnblogs.com/kenshinobiy/

版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。

相关文章
php中argc和argv的用法
 argc: 整数,用来统计你运行程序时送给main函数的命令行参数的个数* argv: 字符串数组,用来存放指向你的字符串参数的指针数组,每一个元素指向一个参数argv[0] 指向程序运行的全路径名argv[1] 指向在DOS命令行中执行程序名后的第一个字符串argv[2] 指向执行程序名后的第二个字符串argv[argc]为NULL
1046 0
php7静态方法的链式调用
2018-1-11 20:25:48 星期四 情景: 以前想要链式调用必须先 new 一个对象, 然后 $obj->aa()->bb()... 现在PHP7 (php7.0.13  php7.2测试通过) 的静态方法也可以链式调用了 写法: A::aa()::bb()::cc(); ...
2950 0
linux下使用 du查看某个文件或目录占用磁盘空间的大小
du -ah --max-depth=1 这个是我想要的结果 a表示显示目录下所有的文件和文件夹(不含子目录),h表示以人类能看懂的方式,max-depth表示目录的深度。 du命令用来查看目录或文件所占用磁盘空间的大小。
915 0
PHP中 对象自动调用的方法:__set()、__get()、__tostring()
总结:  (1)__get($property_name):获取私有属性$name值时,此对象会自动调用该方法,将属性name值传给参数$property_name,通过这个方法的内部                                              执行,返回我们传入 的私有属性的值。
866 0
+关注
suboysugar
目前为自由职业者,从事BA业务分析和互联网产品设计等工作,本人先后在中关村在线、中国工商银行和神州数码工作。拥有互联网,移动互联网,软件公司等开发经历。计算机本科毕业,8年互联网和软件行业经验。
562
文章
0
问答
文章排行榜
最热
最新
相关电子书
更多
文娱运维技术
立即下载
《SaaS模式云原生数据仓库应用场景实践》
立即下载
《看见新力量:二》电子书
立即下载