ubuntu php执行计划任务

根据php安装模式不同分为2种,一是Apache 2.0 Handler,另外一种是FPM/FastCGI

如果Server API是cgi,那么在需要cron执行的php脚本的第一行额外加入一段代码#!/usr/bin/php -q(类似PERL语法),指定服务器中php可执行程序的位置,具体步骤如下:

1. 确认Ubuntu系统已经安装了php5-cli模块,安装命令:apt-get install php5-cli。在目录 /usr/bin/php下生成 php可执行程序。

2.  编辑待定时执行的php脚本文件crontab.php,如:

#!/usr/bin/php -q
<?php
$file = “/var/www/”.date(‘H’).’_’.date(‘i’).’_’.date(‘s’).’.txt’;
file_put_contents($file,date(‘Y-m-d’));
?>

3.  编辑 crontab 任务:

打开终端,输入命令:crontab -e,

Select an editor.  To change later, run ‘select-editor’.
1. /bin/ed
2. /bin/nano        <—- easiest
3. /usr/bin/vim.tiny

选择一个Ubuntu编辑器后,编辑/tmp/crontab.AuN7IQ/crontab 文件:

# m h  dom mon dow   command

在下面添加定时执行命令:

* * * * * php /path/to/your/cron.php

5个星号分别代表定时指定每分、小时、日、月、周。如每天的下午7点执行crontab.php,命令为:

* 19 * * * php /var/www/cron/crontab.php

然后按Ctrl+O保存,Ctrl+X退出。

4. 执行以下Crontab命令行

Shell> crontab crontab

确认crontab.php的权限为可执行("chmod 755 /var/www/cron/crontab.php")。

Apache 模块
如果php安装是以 apache 模式运行的,那么在要在ubuntu服务器定时执行的php脚本开头就不用加 #!/usr/bin/php  -q 这一行。php脚本在ubuntu 通过crontab的定时执行通过Lynx浏览器的自动访问来完成。

1.  Lynx浏览器安装。

Lynx浏览器是一款轻便的web浏览器,使用于大部分Unix 和Linux系统环境。安装命令:sudo apt-get install lynx。

2. 编辑cron任务,命令crontab -e

* * * * * lynx -dump http://farlee.info/cron.php

注意这个地址最好用绝对地址,包含“http://”的完整url。

3. 再次执行下面的命令行:

Shell> crontab crontab

posted @ 2015-09-29 17:34  Forward1990  阅读(279)  评论(0编辑  收藏  举报