PHP:如何手动/编程启动cron脚本

时间:2012-08-24 20:28:42

标签: php cron

您好我正在创建一个cron状态页面,显示cron运行的脚本的所有状态信息。我知道如何构建“显示状态信息”,但我需要以下帮助和建议......

我需要允许用户看到状态页面才能手动启动cron脚本。就像一个按钮,可以调用cron来运行像“now”这样的特定脚本。

这可能还是我可以做的解决方法?

请提前帮助和谢谢。

1 个答案:

答案 0 :(得分:1)

您可以手动执行cron脚本:

exec("cron script here");

如果需要,您可以获取可用的cron脚本(未经测试):

$crontab = file_get_contents("path/to/cron");
$cron_jobs = array_filter(explode(PHP_EOL, $crontab), function($cron_job) {
    return $cron_job[0] !== "#"; // Remove comments.
});
$cron_jobs = array_map(function($cron_job) {
    $fields = explode(" ", $cron_job);
    $fields = array_splice($fields, 0, 5); // Get rid of timing information.
    return implode(" ", $fields);
}, $cron_jobs);

$cron_script = $_GET["cron_script"];
if ($cron_script < sizeof($cron_jobs)) {
    exec($cron_jobs[$cron_script]);
}