大佬教程收集整理的这篇文章主要介绍了centos使用crontab定时执行php脚本,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
首先,找到php安装环境目录,
whereis php 得到目录:假设/opt/lampp/bin/php,记录下来
写好php脚本
require_once("/home/web/wxsq/config.php"); $link = MysqLi_connect($host,$user,$pwd,$dbName); if (!$link){ echo "Error: Unable to connect to Mysql." . php_EOL; echo "Debugging errno: " . MysqLi_connect_errno() . php_EOL; echo "Debugging error: " . MysqLi_connect_error() . php_EOL; die("Connection error: " . MysqLi_connect_error()); } MysqLi_query($link,"set character set 'utf8'");//è¯? MysqLi_query($link,"set names 'utf8'"); // $sql="deletE FROM `weixin_flag` where nickname = '李中坤'"; // MysqLi_query($link,$sql) or die(MysqLi_error($link)); $sql="deletE FROM `weixin_flag` where nickname is null and content is null"; MysqLi_query($link,$sql) or die(MysqLi_error($link));这里要注意:
尽量不要用require 和 include, 如果非要用,就要使用绝对路径,而且要保证require或include进来的php没有其他相对目录的引用
不要使用/**/这种注释
编辑crontab
centos 自带crontab。没有的话,要安装
crontab -e 进入编辑模式,点击i,可开始编辑
前面4行是第一次打开就有的,估计是其他定时启动服务,不用管它。
我们enter键另起一行,如图最后一行是我的脚本.
* * * * *5个星星大有学问,同学们可以自己查找使用方法,默认的5个星星就是每1分钟执行一次你配置的脚本。
/opt/lampp/bin/php 是你刚才记录的php环境目录
autoClearData.php是我写的脚本文件
>> /home/...../autoLog1.html 是autoClearData.php的log,这可以用来调试脚本。
crontab不需要重新启动,编辑完成保存好就生效了。
若已经编辑完成,按ESC,再shift+ZZ。完成了
2s频率的定时器自动执行一段小程序。
我的需求是:每秒钟去判断数据库的一个time是否过期,过期就要及时做出处理。
所以呢,crontab可以这么写
方案一:
* * * * * sleep(1) /opt/lampp/bin/php /home/web/funwall/xxxxx.php
* * * * * sleep(2) /opt/lampp/bin/php /home/web/funwall/xxxxx.php
* * * * * sleep(60) /opt/lampp/bin/php /home/web/funwall/xxxxx.php
这样就要写60次,当然你觉得ok,也可以这么写。但是一个优秀的程序员肯定是受不了这种写法的
方案二:
1,找个目录新建一个crontab.sh,假设我的在/home/web/funwall/crontab.sh
内容:
step=2 #间隔的秒数,不能大于60 for (( i = 0; i < 60; i=(i+step) )); do $(/opt/lampp/bin/php '/home/web/funwall/xxxxxx.php') sleep $step done exit 0
* * * * * /home/web/funwall/crontab.sh
这个看代码也知道怎么回事,* * * * * 是1分钟执行一次,而crontab.sh里是一分钟执行30次(可以改的)。
以上是大佬教程为你收集整理的centos使用crontab定时执行php脚本全部内容,希望文章能够帮你解决centos使用crontab定时执行php脚本所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。