如何使用Linux的Crontab执行PHP脚本
2015-10-16 00:00
831 查看
摘要: 用Linux的Crontab执行PHP脚本
近期写了一个PHP脚本,需要每天执行,于是就想到了计划任务,这个功能因为会比较常用,所以在此记下一笔。
一、首先写好你的PHP脚本,比如test.php,我的PHP脚本是需要网址访问的,放在网站的根目录,(如:http://www.aaa.com/test.php),当然你也可以是其它路径,此处路径写正确即可。
二、找到你的crontab的文件位置,并且在其中调用你的PHP脚本
1、crontab的文件位置一般在/var/spool/cron/下,如果你是root用户,那下面有个root文件,建议日常备份,避免误删除导致crontab 文件丢失;
2、打开root文件,添加调用PHP脚本命令
*/5 * * * * /usr/bin/curl -o temp.txt https://www.aaa.com/test.php
//第5分钟执行一次test.php
【备注:添加方式有多种,此处可自行选择,以下列出几种供大家参考:】
(1):在Crontab中使用PHP执行脚本
00 * * * * /usr/local/bin/php /home/john/test2.php //每小时执行一次test2.php
/usr/local/bin/php为PHP程序的路径 /home/john/test2.php为执行脚本的绝对路径
(2):在Crontab中使用URL执行脚本
如果你的PHP脚本可以通过URL触发,你可以使用lynx或curl或wget来配置你的Crontab。
方一:00 * * * * lynx -dump https://www.aaa.com/test.php
//每小时执行一次test.php
【Lynx文本浏览器默认使用对话方式打开URL,我们在lynx命令行中使用-dump选项来把URL的输出转换来标准输出。】
方二:*/5 * * * * /usr/bin/curl -o temp.txt https://www.aaa.com/test.php
//使用CURL访问URL来每5分执行一次test.php
【Curl默认在标准输出显示输出。使用”curl -o”选项,你也可以把脚本的输出转储到临时文件。】
方三: */10 * * * * /usr/bin/wget -q -O temp.txt https://www.aaa.com/test.php
//使用WGET访问URL来每10分执行PHP脚本
【-q选项表示安静模式。”-O temp.txt”表示输出会发送到临时文件】
f1 f2 f3 f4 f5 program
其中 f1 是表示分钟,f2 表示小时,f3 表示一个月份中的第几日,f4 表示月份,f5 表示一个星期中的第几天。program 表示要执行程式的路径。
当 f1 为 * 时表示每分钟都要执行 program,f2 为 * 时表示每小时都要执行程式,其余类推
当 f1 为 a-b 时表示从第 a 分钟到第 b 分钟这段时间内要执行,f2 为 a-b 时表示从第 a 到第 b 小时都要执行,其余类推
当 f1 为 */n 时表示每 n 分钟个时间间隔执行一次,f2 为 */n 表示每 n 小时个时间间隔执行一次,其余类推
当 f1 为 a, b, c,… 时表示第 a, b, c,… 分钟要执行,f2 为 a, b, c,… 时表示第 a, b, c…个小时要执行,其余类推
三、检查是否执行脚本,如不成功,可到日志查看
默认情况下,crontab中执行的日志写在/var/log下,如:/var/log/cron /var/log/cron.1 /var/log/cron.2
如crontab 没有成功,检测crontab 服务是否启动,
/etc/init.d/crond status //查看状态
/etc/init.d/crond restart //重启cron
cron 是系统守护进程,位置:
/etc/init.d/crond
参数:
start
stop
restart
reload
近期写了一个PHP脚本,需要每天执行,于是就想到了计划任务,这个功能因为会比较常用,所以在此记下一笔。
一、首先写好你的PHP脚本,比如test.php,我的PHP脚本是需要网址访问的,放在网站的根目录,(如:http://www.aaa.com/test.php),当然你也可以是其它路径,此处路径写正确即可。
二、找到你的crontab的文件位置,并且在其中调用你的PHP脚本
1、crontab的文件位置一般在/var/spool/cron/下,如果你是root用户,那下面有个root文件,建议日常备份,避免误删除导致crontab 文件丢失;
2、打开root文件,添加调用PHP脚本命令
*/5 * * * * /usr/bin/curl -o temp.txt https://www.aaa.com/test.php
//第5分钟执行一次test.php
【备注:添加方式有多种,此处可自行选择,以下列出几种供大家参考:】
(1):在Crontab中使用PHP执行脚本
00 * * * * /usr/local/bin/php /home/john/test2.php //每小时执行一次test2.php
/usr/local/bin/php为PHP程序的路径 /home/john/test2.php为执行脚本的绝对路径
(2):在Crontab中使用URL执行脚本
如果你的PHP脚本可以通过URL触发,你可以使用lynx或curl或wget来配置你的Crontab。
方一:00 * * * * lynx -dump https://www.aaa.com/test.php
//每小时执行一次test.php
【Lynx文本浏览器默认使用对话方式打开URL,我们在lynx命令行中使用-dump选项来把URL的输出转换来标准输出。】
方二:*/5 * * * * /usr/bin/curl -o temp.txt https://www.aaa.com/test.php
//使用CURL访问URL来每5分执行一次test.php
【Curl默认在标准输出显示输出。使用”curl -o”选项,你也可以把脚本的输出转储到临时文件。】
方三: */10 * * * * /usr/bin/wget -q -O temp.txt https://www.aaa.com/test.php
//使用WGET访问URL来每10分执行PHP脚本
【-q选项表示安静模式。”-O temp.txt”表示输出会发送到临时文件】
crontab用法
crontab的格式如下面:f1 f2 f3 f4 f5 program
其中 f1 是表示分钟,f2 表示小时,f3 表示一个月份中的第几日,f4 表示月份,f5 表示一个星期中的第几天。program 表示要执行程式的路径。
当 f1 为 * 时表示每分钟都要执行 program,f2 为 * 时表示每小时都要执行程式,其余类推
当 f1 为 a-b 时表示从第 a 分钟到第 b 分钟这段时间内要执行,f2 为 a-b 时表示从第 a 到第 b 小时都要执行,其余类推
当 f1 为 */n 时表示每 n 分钟个时间间隔执行一次,f2 为 */n 表示每 n 小时个时间间隔执行一次,其余类推
当 f1 为 a, b, c,… 时表示第 a, b, c,… 分钟要执行,f2 为 a, b, c,… 时表示第 a, b, c…个小时要执行,其余类推
三、检查是否执行脚本,如不成功,可到日志查看
默认情况下,crontab中执行的日志写在/var/log下,如:/var/log/cron /var/log/cron.1 /var/log/cron.2
如crontab 没有成功,检测crontab 服务是否启动,
/etc/init.d/crond status //查看状态
/etc/init.d/crond restart //重启cron
cron 是系统守护进程,位置:
/etc/init.d/crond
参数:
start
stop
restart
reload
相关文章推荐
- CentOS下使用yum命令安装计划任务程序crontab
- ruby中执行周期性任务(定时任务)的3种方法
- 一步一步教你创建SQL 2005计划任务应用图解教程
- 使用mysql事件调度器定时删除binlog
- PHP定时执行计划任务的多种方法小结
- ASP中实现执行定时任务的方法
- 解析Ubuntu下crontab命令的用法
- php中定时计划任务的实现原理
- linux crontab实例分析
- 关于crontab的使用详解
- node.js中使用node-schedule实现定时任务实例
- Linux VPS 计划任务crond命令的使用方法分享
- Web服务器日志统计分析完全解决方案
- php定时计划任务的实现方法详解
- Windows中利用计划任务实现自动备份文件
- win7计划任务定时执行PHP脚本设置图解
- MySQL定时备份之使用Linux下的crontab定时备份实例
- Nodejs中读取中文文件编码问题、发送邮件和定时任务实例
- linux下使用crontab实现定时PHP计划任务失败的原因分析
- 记一次LINUX-CRONTAB失败的排查案例