使用Linux的Crontab定时执行PHP脚本
2015-11-05 10:13
676 查看
我们的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的输出转换来标准输出。
代码如下:
0 * * * * 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
下面介绍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的输出转换来标准输出。
代码如下:
0 * * * * 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
相关文章推荐
- Linux如何根据UUID自动挂载磁盘分区
- linux下设置全局变量
- 鸟哥的Linux私房菜(基础篇)- 鸟哥的第一本书的主要内容,以 Mandrake 9.0 为例
- 鸟哥的Linux私房菜(基础篇)- Red Hat 6.x旧文件
- 鸟哥的Linux私房菜(基础篇)- 简易且较小安装Red Hat 7.2
- 鸟哥的Linux私房菜(基础篇)- 一个简单的 SPFdisk 分割实例
- 鸟哥的Linux私房菜(基础篇)- 一些基础的Linux 问题
- 鸟哥的Linux私房菜(基础篇)- 附录 B: EXT2 / EXT3 文件系统
- 鸟哥的Linux私房菜(基础篇)- 附录 A: GNU 的 GPL 条文 version 2
- 鸟哥的Linux私房菜(基础篇)- 第二十六章、Linux 核心编译与管理
- 鸟哥的Linux私房菜(基础篇)- 第二十五章、 Linux 备份策略
- 64位ubuntu14.04安装交叉编译器arm-linux-gcc出现没有那个文件或目录
- Linux之命令的组合
- Linux之命令的组合
- SecureCRT 绝佳配色方案, 保护你的眼睛
- 微软宣布与红帽建立合作伙伴关系
- 微软宣布与红帽建立合作伙伴关系
- Linux下磁盘保留空间的调整,解决df看到的空间和实际磁盘大小不一致的问题
- linux内核之系统启动(二)
- linux内核之系统启动(一)