你如何设置cron任务?

时间:2012-10-24 20:58:29

标签: cron

我之前从未使用过CRON,但我想使用CRON才能为php脚本执行计划作业。 php脚本名为“inactivesession.php”,在php脚本中是这段代码:

<?php

include('connect.php');


$createDate = mktime(0,0,0,10,25,date("Y"));
$selectedDate =  date('d-m-Y', ($createDate));

$sql = "UPDATE Session SET Active = ? WHERE DATE_FORMAT(SessionDate,'%Y-%m-%d' ) <= ?";                                         
$update = $mysqli->prepare($sql);
$update->bind_param("is", 0, $selectedDate);
$update->execute();

?>

我想要做的是,当达到上述日期(10月25日)时,我希望php脚本执行上面的UPDATE语句。但我的问题是如何使用CRON才能做到这一点?

我使用的服务器是大学的服务器,称为helios,是否需要在helios中设置CRON,(我必须为此调用管理员)还是其他使用CRON的服务器。

我之前从未使用过CRON,所以你能解释一下如何使用我正在使用的服务器为上面的例子设置CRON吗?

由于

1 个答案:

答案 0 :(得分:3)

方法1:使用crontab中的php执行脚本

就像你调用shell脚本一样(如我们的crontab 15示例文章中所示),使用php可执行文件,并从crontab调用php脚本,如下所示。

要每1小时执行一次myscript.php,请执行以下操作:

crontab -e

00 * * * * /usr/local/bin/php /home/john/myscript.php

方法2:使用crontab中的URL

运行php脚本

如果您的php脚本可以使用URL调用,您可以lynx,curl或wget设置您的crontab,如下所示。

以下脚本通过使用lynx文本浏览器调用URL来执行php脚本(每小时)。默认情况下,Lynx文本浏览器以交互模式打开URL。但是,如下所示,lynx命令中的-dump选项会将URL的输出转储到标准输出。

00 * * * * lynx -dump http://www.thegeekstuff.com/myscript.php

以下脚本通过使用CURL调用URL来执行php脚本(每5分钟一次)。默认情况下,Curl显示标准输出中的输出。使用“curl -o”选项,您还可以将脚本的输出转储到临时文件,如下所示。

*/5 * * * * /usr/bin/curl -o temp.txt http://www.thegeekstuff.com/myscript.php

以下脚本通过使用WGET调用URL来执行php脚本(每10分钟一次)。 -q选项表示完全模式。 “-O temp.txt”表示输出将发送到临时文件。

*/10 * * * * /usr/bin/wget -q -O temp.txt http://www.thegeekstuff.com/myscript.php