0

我的 res_time.php 文件有一行

$r = $shell_exec("/var/www/html/new12345/cront1.sh $n");

cront1.sh在哪里

!/bin/bash
echo " 00 $1 * * * /var/www/html/new12345/shell_call.php >> /var/www/html/w.txt" | crontab -

当我手动输入时,./cront1.sh 3我可以在 crontab 中看到一个条目

然而,在 php 中使用 bash 会产生一些问题..该行本身没有被调用..帮助!

引用的每个文件的权限已满

4

1 回答 1

0

这不是真正正确的处理方式。通常,您希望尽可能少地涉及操作系统级别的 cron。大多数框架的处理方式是有一个单独的 cron 脚本,每隔几分钟左右调用一次,然后决定其他任务需要做什么,并执行它们。

因此,您将在 Crontab 中设置一个条目,例如:

*/3 * * * * /var/www/html/my_site/cron.php

在基本层面上,您可以通过在当前时间戳上运行模运算来确定在 cron.php 中要做什么,例如

if (time() % (60*60)) {
    // runs every hour, on the hour
}

if (time() % ((60*60)/2)) {
    // runs at xx:00 and xx:30
}


if (time() % (60*5)) {
    // runs every five minutes
    // although it'll actually only run every 15 mins, because cron.php is called every 3 mins!
}
于 2012-04-07T14:55:48.887 回答