我发现了一个脚本,它应该安排一个脚本来执行。我是PHP的新手,我不想使用cron。下面是我找到的脚本:
<?php
$hour = date('G');
$day = date('N'); // 1..7 for Monday to Sunday
if (($hour >= 5 && $hour <= 7) // 5am - 7am
|| ($hour >= 10 && $hour <= 12) // 10am - 12 noon
|| ($hour >= 15 && $hour <= 19) // 3pm - 7pm
|| ($day == 5) // Friday
) { ?>
//my script
<?php } ?>因为我知道的太少了,如果我把我的脚本放在它说的地方,它会在每次发生的特定时间执行吗?提前感谢您!-Ben
发布于 2011-12-31 23:32:56
更好的方法是使用cron。这很简单,尽管一开始可能看起来很吓人:
第1步-创建将由cron运行的脚本
例如,将此代码放在<your-app-root>/cron.php中
<?php
$CRON_KEY = "some-random-value-here";
if ($_GET['key'] != $CRON_KEY) {
header(“HTTP/1.0 403 Forbidden”);
echo "You have no rights to access this page.";
exit();
}
// Your code here第2步-添加crontab条目
要自动执行cron.php脚本,可以在/etc/crontab中添加如下所示的行
## This will run each day at 2:30 AM
30 2 * * * www-data wget -O - -q http://yourdomain.com/cron.php?key=some-random-value-here &> /tmp/my-app-cron.log..where some-random-value-here必须与放置在PHP脚本中的随机值匹配。这是一个安全特性,可以防止任何人运行您的cron代码。
Crontab行描述
crontab行的前五个部分是:分钟、小时、月日、月和星期。
您还可以使用范围,例如,要在每天的5、7、8、12、13、14、15、20运行脚本,您可以使用以下命令:
0 5-8,12-15,20 * * * ...您还可以使用“step”,例如,每5分钟运行一次(建议用于循环作业,如索引/清理任务等):
*/5 * * * * ...第六个参数是将用于执行命令的用户。你可以在这里使用任何你想要的用户,www-data,任何人,你的用户,等等。最佳实践是永远不要在这里使用root,除非出于某种原因真的需要。
该行的其余部分是将在计划时间运行的命令。
&> /tmp/my-app-cron.log部件将使您最近一次执行cron.php的所有输出都存储在/tmp/my-app-cron.log中。
阅读更多..
有关cron用法的更多信息,请参阅crontab(5)
$ man 5 crontabhttps://stackoverflow.com/questions/8688852
复制相似问题