1

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

我需要允许查看状态页面的用户有权手动启动 cron 脚本。就像一个按钮,它会调用 cron 来运行一个特定的脚本,比如“现在”。

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

请提前帮助和感谢。

4

1 回答 1

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]);
}
于 2012-08-24T20:32:43.073 回答