存档

2014年3月 的存档

我来告诉你ubuntu通过crontab定时执行php脚本如何实现?

2014年3月13日 没有评论

由于需要写定时脚本来运行php文件,之前写过crontab来运行sh脚本,没弄过php的,那么通过1个多小时的实战,参考网络文档 ,终于搞定。

具体方法如下:

sudo vim /etc/crontab

加入:

*/1 *   * * * root /usr/bin/php -f /var/www/test.php

参数说明:

*/1 *   * * *表示没分钟执行一次,具体如何使用crontab的时间设置,请网络寻找,比较简单

root表示使用root来运行,当然,如果您的.php文件在www-data目录下,建议您使用www-data用户来运行,如果您的.php 文件在其它系统目录盘下,建议您使用root(此处只是本人理解,不确定是否正确,但是经本人测试,root或者www-data都可以,www- data为apache的用户组)

/usr/bin/php -f表示指定php的解析器,其中-f表示后面是一个文件(其中/usr/bin/php是您php的可执行的目录,大部分linux都是/usr/bin/php,如果实在不知道,可以在命令终端输入:which php查看位置)

/var/www/test.php则表示您的php的地址

 

第二步:

为了检测普通定时是否执行,您可以在crontab下先增加:

*/1 * * * * date >> /var/www/test.log

保存重启sudo service cron restart

过1分钟,请等待查看是否可以生成test.log,如果无法生成,说明普通的定时脚本无法执行,您可以通过终端直接执行:

*/1 * * * * /usr/bin/php  /var/www/test.php >> /var/www/test.log 2>&1

来测试是否手动可行

如果能输出test.log则说明手动可行,且log里面已经输出了执行的日志(日志是来自test.php的输出内容)

 

第三步:

在test.php中输入:

$file=fopen(‘/var/www/1.txt’,’a’);
fwrite($file,”1&”);
fclose($file);

如此,您可以完成ubuntu通过crontab定时执行php脚本,使用过程中可能会遇到不可估量的未知错误或者不明问题,请学会自学,百度&google

提醒:上方所有的路径,都请以绝对路径。包括php的包含include/require等。

当然,test.php文件如果在apache模式运行下,不建议在php第一行加上:#!/usr/bin/php

最后最后,请给test.php设置可执行权限,命令:sudo chmod +x test.php

分类: ubuntu高手 标签: , ,
css.php