您的位置:首页 > 编程语言 > PHP开发

使用crontab自动执行php文件

2014-04-08 19:37 309 查看
crontab命令常见于Unix和类Unix的操作系统之中,用于设置周期性被执行的指令。该命令从标准输入设备读取指令,并将其存放于“crontab”文件中,以供之后读取和执行。通常,crontab储存的指令被守护进程激活, crond常常在后台运行,每一分钟检查是否有预定的作业需要执行。这类作业一般称为cron jobs。在这里,我要介绍的是如何在CentOS系统安装crontab。

CentOS系统安装crontab:

[root@CentOS ~]# yum install vixie-cron

[root@CentOS ~]# yum install crontabs(我执行这一步的时候,提示我已经安装了,不知道啥时候安装的)

说明:

vixie-cron软件包是cron的主程序;

crontabs软件包是用来安装、卸装、或列举用来驱动 cron 守护进程的表格的程序。

cron 是linux的内置服务,但它不自动起来,可以用以下的方法启动、关闭这个服务:

/sbin/service crond start //启动服务

/sbin/service crond stop //关闭服务

/sbin/service crond restart //重启服务

/sbin/service crond reload //重新载入配置

查看crontab服务状态:service crond status

手动启动crontab服务:service crond start

查看crontab服务是否已设置为开机启动,执行命令:ntsysv

在CentOS系统中加入开机自动启动:chkconfig --level 35 crond on

CentOS系统 crontab命令

功能说明:设置计时器。

语法:crontab [-u <用户名称>][配置文件] 或 crontab [-u <用户名称>][-elr]

补充说明:cron是一个常驻服务,它提供计时器的功能,让用户在特定的时间得以执行预设的指令或程序。只要用户会编辑计时器的配置文件,就可以使 用计时器的功能。其配置文件格式如下:Minute Hour Day Month DayOFWeek Command

参数:

-e  编辑该用户的计时器设置。

-l  列出该用户的计时器设置。

-r  删除该用户的计时器设置。

-u<用户名称>  指定要设定计时器的用户名称。

在CentOS系统中,以上步骤就完成了安装crontab的安装工作。

简单的说了一下原理,下面解释应该怎么使用。

在使用之前首先通过which php命令找到自己的php安装到了哪里,西面能用到,我的打印出来是/usr/local/php/bin/php

为了知道自己写的php到底有没有被调用,在php写了一个简单的文件写入函数,我将当前的时间写入到一个test.txt中,只要查看test.txt,
我就 知道php是有没有调用,什么时候调用,这样就可以大致看出来,自己设置的调用时间是不是被争取执行了。

<?php
$fp = fopen("test.txt","a+");
fwrite($fp, date('Y-m-d H:i:s')."****"."\r\n");
fclose($fp);
?>


php写好后然后配置crontab:

在命令行输入crontab -e,这时会打开一个文本编辑器,上面显示的是你写入的调用列表,如果以前没有编辑过,则打开文件里面什么都没有

在文件里面输入*/1 * * * * /usr/local/php/bin/php test.php,然后保存退出。

在"*/1 * * * * /usr/local/php/bin/php test.php"中,"/usr/local/php/bin/php"是我的php地址,上面已经说过,可以用"which php"命令获取到,如果,你这样写php文件还是没有被调用,你可以尝试将"/usr/local/php/bin/php"后面加上-f。"*/1 * * * * "这段字符串定义了,后面的命令调用的时间,本例中是每分钟调用一次test.php.时间如何设置可以去这里学习http://www.cnblogs.com/OtisBlog/archive/2012/01/30/2332175.html

参考文章:http://os.51cto.com/art/201004/192442.htm
http://www.cnblogs.com/OtisBlog/archive/2012/01/30/2332175.html
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: